![]() |
1
1
因为您使用的是JPA,它是一个对象关系映射器,所以如果不涉及JPA和数据库,请按照您的方式进行设计。 我的意思是构建对象模型(java类)的方式应该对您试图捕获的对象和关系有意义——然后担心如何围绕这些对象正确配置JPA。 上一次我使用JPA是在2.0推出的时候,所以我不记得规范是如何完全支持使用java.util.map实现的字段的,但是如果有支持的话,映射将是一个很好的方法。 具体来说,在您的产品对象中可以有一个Map类型的字段。
但老实说,只要从java类的角度考虑,忽略JPA和数据库的思维方式,就可以找到最合理的方法。 其他选项是定义其他类,例如
然后通过JPA注释使用户和产品(可能还有投票)成为复合主键。 但即使是这样的类也有被关系设计毒害的迹象,因为它本质上是一个joiner表。 |
![]() |
TheCrunchyPotato · JPA查询找不到正确的构造函数 2 年前 |
![]() |
Maiko Kingma · hibernate何时加载映射关系 7 年前 |
![]() |
OOvic · 使用JoinTable实现多个关系中的JPQL查询 7 年前 |
![]() |
Jovan0042 · 在H2中持久化多个实体引发异常 7 年前 |
![]() |
Nemeth Attila · 如何编写多对多关联表的查询 7 年前 |