【发布时间】:2019-10-20 22:17:40
【问题描述】:
我想要一个实体与另一个实体具有多对一关系,但使用 JPA 生成外键(数据库中没有外键),这可能吗?
我知道有一个使用一对多和多对一的解决方案,但我只想有一个多对一,因为我只希望它是单向的
【问题讨论】:
标签: spring spring-data-jpa foreign-keys many-to-one
我想要一个实体与另一个实体具有多对一关系,但使用 JPA 生成外键(数据库中没有外键),这可能吗?
我知道有一个使用一对多和多对一的解决方案,但我只想有一个多对一,因为我只希望它是单向的
【问题讨论】:
标签: spring spring-data-jpa foreign-keys many-to-one
您可以拥有OneToMany 和ManyToOne,无论是单向还是双向。显然,当您从一侧具有多对一关系时,您将在另一侧具有一对多关系。
此外,您应该注意,只有一个外键在多方到单方可以处理这种关系。
如果您在@OneToMany 或@ManyToOne 注释之一的下方使用@JoinColumn(name="some_column_name"),hbm2ddl 应该能够在您的表中创建正确的外键。
不过,尽量不要依赖 hbm2ddl,自己维护数据库架构。
【讨论】: