我正在使用Spring MVC和Hibernate開始一個項目。我很關心與班級構成有關的最佳做法。假設我有一個名爲User的類,並使用像Hibernate這樣的ORM技術。Java Spring MVC + Hibernate類組合
我不知道是否應該包括所有與用戶類內的用戶實體相關的。我知道Hibernate通過延遲加載自動提高了性能,因此當我們檢索用戶時它不會檢索所有實例變量。不過,我覺得如果我們在User類中包含了太多的變量,查詢User對象將變得非常昂貴。
考慮這個例子:
@Entity
@Table(name = "Users")
public class User{
private String username;
private String password;
private long user_id;
private Collection<Transaction> transactions;
}
在這裏,用戶類存儲交易的集合。每筆交易都代表用戶在網站上進行的購買交易。但我們不需要爲每個用戶存儲一個交易集合。
相反,我們可以做一個交易表所示:
@Entity
@Table(name = "UserTransactions)
public class Transaction{
private int user_id;
private int order_id;
private double amount_paid;
}
通過此次交易表中,我們仍然可以存儲每一筆交易的每個用戶作出。
這只是一個例子,還有很多變量不需要存儲在User類中,並可以用自己的表來表示。所以我想知道在User類中是否存在所有這些變量的損害,或者我們是否應該小心並選擇包含在User類中的東西?每種方法的優缺點是什麼?
預先感謝您!
你想問什麼?如何創建hibernate實體之間的關係? –