这与“没有单独的联接表的hibernate@OneToMany”类似,因为我需要一个没有联接表的@OneToMany关系。但是,我也不想定义逆关系。删除相反的内容似乎会导致自动生成联接表…是否有解决方法?
在JPA 2.0+中,您可以使用@JoinColumn作为避免生成联接表的方法。
尝试一下。
@OneToMany @JoinColumn(name="COLUMN_NAME")
更新
上面提供的信息摘自EJB 3.0o’illy书(查找@JoinColumn批注引用了PHONE表中的CUSTOMER_ID列)。但是,普通的JPA1.0规范不支持此功能。它说的是
可以使用一对多外键映射来实现单向一对多关系,但是,此版本中不需要这种支持。希望对一对多关系使用外键映射策略的应用程序 应使这些关系双向以确保可移植性
因此 在1.0中,它是特定于供应商的实现 (这很有意义,作者在JBoss工作-hibernate背后的红帽分歧)
但是 它受到JPA 2.0实现的支持
如果联接用于使用外键映射策略的单向OneToMany映射, 则外键在目标实体的表中 。