提问人:Michał Zając 提问时间:10/21/2023 最后编辑:SternKMichał Zając 更新时间:10/21/2023 访问量:47
Hibernate 在 MySQL DB 中创建一对多关系,而指定一对一
hibernate creates one to many relationship in mysql db, while one to one specified
问:
使用 Hibernate 定义@OneToOne关系后,我在 MySQL 数据库中有一对多关系。
一对多关系:
是犯了错误,还是 Hibernate 管理一对一关系的方式?
我什至尝试过这个解释关系的网站的明显例子:https://www.baeldung.com/jpa-hibernate-associations
法典:
@Entity
public class Employee {
@Id
private Long id;
@OneToOne
@JoinColumn(name = "parking_spot_id")
private ParkingSpot parkingSpot;
}
@Entity
public class ParkingSpot {
@Id
private Long id;
}
答:
0赞
Baranovich
10/21/2023
#1
MySQL 数据库中的关系不依赖于 Hibernate 关系定义。Hibernate 注解@OneToOne用于为程序指定特定的关系 - 因此 Hibernate 将期望数据库中已经存在的相应表具有一对一的关系。如果你想在数据库中获得一对一的关系,只需删除具有一对多关系的旧表,然后使用一对一创建新表(使用本教程 - https://dotnettutorials.net/lesson/database-relationships-in-mysql/) - 你不需要 Hibernate。
评论
0赞
Michał Zając
10/22/2023
我知道这在MySQL中是可能的,我只是想用Hibernate定义整个数据库。那么这是否意味着我无法定义一对一的关系,这将在MySQL中以这种方式设置,只是休眠?
0赞
Baranovich
10/22/2023
是的,这确实是这个意思
评论