我试图设计一个非常简单的应用程序,并且让自己对Hibernate对实体和值对象的定义(如Java Persistence with Hibernate的第4章中定义)有点困惑。Hibernate映射中的值对象或实体对象?
我有一个应用程序与客户,谁可以下订单(一对多关系)。每个订单都有许多订单行(也是一对多)。现在,我认为客户有身份(客户号码),订单(订单号码)也是这样,因此它们是实体对象?我的疑惑来自订单行。
订单项有数量,产品编号和价格。订单行在没有订单的情况下不能存在,并且没有自己的身份,因此我将其视为价值对象。但是我不能让订单行成为订单表的一部分,因为订单和订单行之间存在一对多的关系。一对多关系如何与值对象的定义一起工作?从Hibernate书籍:
“值类型的对象没有数据库标识;它属于一个实体实例,其持久状态嵌入到拥有实体的表行中。值类型没有标识符或标识属性”
如果任何人都可以清理我的困惑我真的很感激它:)