@OneToMany没有逆关系并且没有联接表?

视力:

这与“没有单独的联接表的休眠@OneToMany”类似,因为我需要一个没有联接表的@OneToMany关系。但是,我也不想定义逆关系。删除相反的值似乎会导致自动生成联接表...是否有解决方法?

亚瑟·罗纳德(Arthur Ronald):

在JPA 2.0+中,可以使用@JoinColumn作为避免生成联接表的方法。

试试吧。

@OneToMany
@JoinColumn(name="COLUMN_NAME")

更新

上面提供的信息是从EJB 3.0 o'illy书籍中提取的(查找@JoinColumn批注引用了PHONE表中的CUSTOMER_ID列)。但是,普通的JPA 1.0规范不支持此功能。它说的是

可以使用一对多外键映射来实现单向一对多关系,但是,此版本中不需要这种支持。希望对一对多关系使用外键映射策略的应用程序应使这些关系双向以确保可移植性

因此,在1.0中,它是特定于供应商的实现(这很有意义,作者在JBoss工作-休眠状态背后的红帽分歧)

但是它受到JPA 2.0实现的支持

如果联接是使用外键映射策略进行的单向OneToMany映射,则外键在目标实体的表中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章