[英]What is the best practice for sending data to the client: returning an entity or a dto?
我不確定我是否應該發送具有所選表和與其相關的所有表的實體,或者具有相關表的外鍵的 DTO,並且只在需要時調用所述表。
返回的實體示例:
@Entity
public class Staff implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String role;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn()
private Gsm gsmDetails;
@OneToMany(mappedBy ="staff", fetch = FetchType.LAZY)
private List<Coupon> coupons = new ArrayList<Coupon>();
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn()
private Voip voip;
@OneToOne()
private Card card;
@OneToOne()
private Phone phone;
//rest of the getters setter and consturctors
DTO 示例:
public class staffDto {
private Long id;
private String name;
private String role;
private Long gsmId;
private List<Long> couponID;
private long voipID;
private long cardId;
private long phoneId;
我不知道不會導致不必要的長時間加載或腹脹的最佳方法。
純粹從我的觀點和意見來看,我會推薦DTO 。
在大多數情況下,我們希望隱藏數據庫結構。
我絕對不是這個主題的專家,我更喜歡前端 - angular 開發人員。 不過,我認為這一點回答了你的問題。
在這里,我發送了一個類似問題的鏈接,其中很好地解釋了為什么更喜歡 DTO 而不是實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.