gpt4 book ai didi

mysql - 数据库和 Hibernate 一对一的最佳方法

转载 作者:行者123 更新时间:2023-11-29 23:27:10 24 4
gpt4 key购买 nike

下面哪种方法是实现与 DB 和 Hibernate 的一对一关系和映射的通用且更好的方法假设我们有客户和联系人表。1)可以将Customer表中的contact_id保留为外键2)可以将customer_id保留在Contact表中作为外键如何实现两者的 hibernate 映射?

我已经使用第二个选项实现了客户和联系人表当我尝试执行 hibernatetemplate.save(customer);

我遇到以下异常:无法添加或更新子行:外键约束失败 (contact_info),CONSTRAINT contact_info_ibfk_1 FOREIGN KEY (CUSTOMER_ID) REFERENCES customers (ID))

当前映射是

@Entity
CustomerEntity {
.....
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="CUSTOMER_ID")
private ContactInfoEntity contactDetails;
.....
}
@Entity
ContactInfoEntity {

@Column(name="CUSTOMER_ID")
private int customerId;
}

最佳答案

@onetoone 实现起来总是困难且令人困惑。您可以使用 @ManyToOne 并将属性设置为 unique=true。 Hibernate 文档中提到,@manytoone 可以用于 @onetoone,因为这样更干净。

有人在这里发布了类似的问题:

Hibernate - why use many-to-one to represent a one-to-one?

关于mysql - 数据库和 Hibernate 一对一的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26867871/

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