![]() |
1
50
在JPA2.0+中,可以使用@joincolumn作为避免生成联接表的方法。 试试看。
更新 上面提供的信息是从EJB3.0 O'Reilly手册中提取的(请查看电话表中的@joincolumn注释引用了customer_id列)。但是,纯JPA1.0规范不支持此功能。它所说的是
所以 在1.0中,它是特定于供应商的实现 (这是有道理的,作者在JBoss工作——冬眠后的红帽分区) 但是 JPA2.0实现支持
|
![]() |
2
15
JPA1.0规范有 不是 支持单向单目标映射 没有联接表 .
并使用
根据JPA 1.0规范:
综上所述,如果您不想要一个联接表(以及完整的读/写支持),并且仍然想要符合JPA,那么可以使关联双向(使用
下面的wiki图书链接讨论了一个技巧(将目标表映射为联接表)来“解决”问题,但这只适用于读、写操作。 工具书类
|
![]() |
3
0
如果数据库中没有联接表,那么通过外键引用主键来实现数据库中两个表之间的关系。 如果关系是通过pk/fk的,则目标类中必须有一个引用回源的属性,以便用值填充fk列。目标类中的此属性可以是ID或源对象。 如果它是源对象,那么您需要在目标类中有一个反向的@manytoone。 |
![]() |
AntonBoarf · 休眠/春天:悲观主义者vs乐观主义者锁定? 6 年前 |
![]() |
Sinan Samet · Hibernate给出无法确定类型错误 6 年前 |
|
Carlos Chávez · Tomcat/Hibernate配置 6 年前 |
![]() |
Seric · 更改Naturald参数名称后出错 6 年前 |
![]() |
OOvic · 使用JoinTable实现多个关系中的JPQL查询 6 年前 |
![]() |
Jovan0042 · 在H2中持久化多个实体引发异常 6 年前 |