我試圖設計一個非常簡單的應用程序,並且讓自己對Hibernate對實體和值對象的定義(如Java Persistence with Hibernate的第4章中定義)有點困惑。Hibernate映射中的值對象或實體對象?
我有一個應用程序與客戶,誰可以下訂單(一對多關係)。每個訂單都有許多訂單行(也是一對多)。現在,我認爲客戶有身份(客戶號碼),訂單(訂單號碼)也是這樣,因此它們是實體對象?我的疑惑來自訂單行。
訂單項有數量,產品編號和價格。訂單行在沒有訂單的情況下不能存在,並且沒有自己的身份,因此我將其視爲價值對象。但是我不能讓訂單行成爲訂單表的一部分,因爲訂單和訂單行之間存在一對多的關係。一對多關係如何與值對象的定義一起工作?從Hibernate書籍:
「值類型的對象沒有數據庫標識;它屬於一個實體實例,其持久狀態嵌入到擁有實體的錶行中。值類型沒有標識符或標識屬性」
如果任何人都可以清理我的困惑我真的很感激它:)