Hibernate在mysql数据库中创建一对多关系,而一对一指定

cczfrluj  于 2023-10-23  发布在  Mysql
关注(0)|答案(1)|浏览(125)

在使用Hibernate定义了@OneToOne关系之后,我在MySQL db中有了一对多的关系。
一对多关系:

这是一个错误还是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;
     
    }
wvyml7n5

wvyml7n51#

MySQL数据库中的关系不依赖于Hibernate关系定义。Hibernate annotation @OneToOne用于指定程序的特定关系-因为Hibernate将期望数据库中已经存在的一致表的一对一关系。如果你想在数据库中获得一对一的关系,只需删除旧的一对多关系的表,并创建一对一的新表(使用本教程-https://dotnettutorials.net/lesson/database-relationships-in-mysql/)-你不需要Hibernate。

相关问题