[英]Inserting a Hibernate entity with relationship
說我有這些課程:
public class Loan {
@Id
private Long id;
@ManyToOne
@JoinColumn(name = "lender_id")
private User lender;
}
public class User {
@Id
private Long id;
@Column
private String userName;
@OneToMany
private List<Loan> loans;
}
現在,讓我們說我有用戶(貸款人)ID,並在DAO層,我想創建一個Loan
基礎上的id
貸款人的?
我意識到我可以做到以下幾點:
User u = userDao.getUserById(1234L);
loanDao.createLoan(u, "someLoan");
但我想知道是否可以在不預先加載User
記錄的情況下進行此User
?
沒有一種好方法可以做到這一點,部分原因是它會從根本上導致錯誤的ORM代碼。 程序員負責管理實體的內存狀態並保持其正確。 如果您創建新貸款並說它屬於用戶,並且用戶有貸款集合,則您有責任將該貸款添加到用戶! (一旦緩存涉及,這會產生實際后果。)
您正在使用ORM,您需要考慮對象而不是數據庫。 在外鍵列中添加數字並不重要,設置對象的正確內存表示模型對您來說非常重要。 數據庫是hibernate的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.