gpt4 book ai didi

java - Hibernate 连接表

转载 作者:行者123 更新时间:2023-12-02 04:03:17 25 4
gpt4 key购买 nike

我有两个表:

ID | NAME | EMAIL_ID (foreign key of Email.ID)

电子邮件

ID | EMAIL_ADDRESS

我需要将数据拉回以下实体,但我不确定如何使用注释将 PERSON.EMAIL_IDEMAIL.ID 连接

@Entity
@Table(name = "PERSON")
public class PersonEntity {
@Column(name = "ID")
private String id;

@Column(name = "NAME")
private String name;

// How do I do a one to one join here?
private String emailAddress;
}

如何正确使用注释,以便 emailAddress 字段映射到 EMAIL.EMAIL_ADDRESS 列?

最佳答案

您的 Person 实体应与 Email 实体连接,而不是直接与 emailAddress 属性连接。

@Entity
@Table(name = "PERSON")
public class PersonEntity {
@Column(name = "ID")
private String id;

@Column(name = "NAME")
private String name;

@OneToOne(fetch = FetchType.LAZY, mappedBy = "person", cascade = CascadeType.ALL)
private Email email;
}

但是有一个仅用于电子邮件的实体很奇怪。您只确保电子邮件是唯一的吗?在这种情况下,Person 实体可以有一个带有 @Column(unique = true) 的 emailAddress。

@Entity
@Table(name = "PERSON")
public class PersonEntity {
@Column(name = "ID")
private String id;

@Column(name = "NAME")
private String name;

@Column(unique = true)
private String emailAddress;
}

关于java - Hibernate 连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34657936/

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