问1)我们如何使用Hibernate建模三元关系?例如,我们如何使用Hibernate(或JPA)对这里呈现的三元关系进行建模?
注意:我知道JPA 2添加了一些用于使用地图构建三元关系的构造.但是,这个问题假定JPA 1或Hibernate 3.3.x并且我不喜欢使用map来对此进行建模.
ER模型http://db.grussell.org/co22001%20notes_files/image043.gif
替代三元关系的ER模型http://db.grussell.org/co22001%20notes_files/image045.gif
理想情况下,我更喜欢我的模型:
class SaleAssistant {
Long id;
//...
}
class Customer {
Long id;
//...
}
class Product {
Long id;
//...
}
class Sale {
SalesAssistant soldBy;
Customer buyer;
Product product;
//...
}
Run Code Online (Sandbox Code Playgroud)
问1.1)
我们如何对这种变化进行建模,其中每个Sale项目可能包含许多产品?
class SaleAssistant {
Long id;
//...
}
class Customer {
Long id;
//...
}
class Product {
Long id;
//...
}
class Sale {
SalesAssistant soldBy;
Customer buyer;
Set<Product> products;
//...
}
Run Code Online (Sandbox Code Playgroud)
问2)一般来说,我们如何用Hibernate建模n-ary,n> = 3的关系? …