繁体   English   中英

JPA 使用主键而不是外键生成的连接表

[英]JPA Join table generated with primary keys instead of foreign keys

好吧,我在TeamEntityContestTypeEntity之间有 OneToMany 单向关系。

所以在我的TeamEntity中,我有以下内容:

@OneToMany(targetEntity = ContestTypeEntity.class)
@JoinTable(name="team_contest_type")
private Set<ContestTypeEntity> contestTypes = new HashSet<>();

ContestTypeEntity不知道这种关系。

通常,JPA 应该生成一个包含两个外键的连接表team_contest_typeteam_entity_idcontest_types_id

但是在实际生成的连接表中,这些是主键,所以我无法插入不唯一的值......这就是我想要做的。 我怎样才能解决这个问题?

使用@JoinColumn而不是@JoinTable 请记住,在使用 JPA/Hibernate/ORM 时,您使用的是 object 引用,而不是表键。 这可以帮助您不要将单向与 OneToMany 一起使用: https://thorben-janssen.com/best-practices-many-one-one-many-associations-mappings/#Don8217t_use_unidirectional_one-to-many_associations

好的,所以双方都有一个 Set 的 ManyToMany 关系解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM