gpt4 book ai didi

java - @OneToMany 没有反向关系且没有连接表?

转载 作者:IT老高 更新时间:2023-10-28 20:55:11 26 4
gpt4 key购买 nike

这是与 "Hibernate @OneToMany without a separate join table" 类似的问题。 ,因为我需要一个没有连接表的@OneToMany 关系。但是,我也不想定义反比关系。删除逆似乎会导致自动生成连接表...有解决方法吗?

最佳答案

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

试试看。

@OneToMany
@JoinColumn(name="COLUMN_NAME")

更新

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

Unidirectional one-to-many relationships may be implemented using one-to-many foreign key mappings, however, such support is not required in this release. Applications that want to use a foreign key mapping strategy for one-to-many relationships should make these relationships bidirectional to ensure portability

所以在 1.0 中它是特定于供应商的实现(这是有道理的,作者工作于 JBoss - hibernate 背后的红帽部门)

JPA 2.0 实现支持它

If the join is for a unidirectional OneToMany mapping using a foreign key mapping strategy, the foreign key is in the table of the target entity.

关于java - @OneToMany 没有反向关系且没有连接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com