2
我想編寫一個具有一對多關係的JPA實體類。我想避免在父類中定義關係,以避免每次爲對象提供引用時加載數據,即使不需要關聯數據。我已閱讀,即使使用延遲加載,數據可以加載,所以我需要避免這一點。JPA - 沒有連接列的一對多關聯
在下面的例子中,
Customer table
------------------------
customerid, customerName
1 John
2 Bob
順序表 - 客戶ID是一個外鍵,客戶
orderId, customerId, orderDate
1 1 12MAY2012
1 1 13MAY2012
1 2 16MAY2012
JPA實體
@Entity
public class Customer {
// all Customer-related fields WITHOUT @OneToMany relationship with Order
}
@Entity
public class Order {
String orderDate;
@ManyToOne
private Customer owner;
}
我怎麼會從客戶獲取數據表基於訂單表上的條件?例如,我怎麼能說「給我拿誰取得了其中訂購日期是兩個日期之間的順序所有的客戶?
如果使用延遲加載,數據將不會被加載,直到它被引用爲止,似乎您正試圖解決錯誤的問題。您希望如何在不使用連接列/表的情況下創建表之間的關聯? –
你有什麼試過的?你有沒有讀過關於HQL和關聯的文檔?http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#queryhql-joins –
@亞光球如果你將關係定義爲懶惰,那麼實現仍然被允許熱切地加載關係。 [JPA 2規範是這樣說的](http://docs.oracle.com/javaee/6/api/javax/persistence/FetchType.html)。 – siebz0r