相关疑难解决方法(0)

Hibernate中的三元(和n-ary)关系

问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的关系? …

java orm database-design hibernate jpa

6
推荐指数
1
解决办法
6881
查看次数

标签 统计

database-design ×1

hibernate ×1

java ×1

jpa ×1

orm ×1