gpt4 book ai didi

java - 将 JPA 实体一分为二?

转载 作者:行者123 更新时间:2023-12-01 12:13:20 25 4
gpt4 key购买 nike

假设我有以下实体:

@Entity
@Table (name = "customers)
public class CustomerImpl implements Customer {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true)
private Long id;

@Column(name = "name", nullable = false)
private String name;

@Column(name = "surname", nullable = false)
private String surname;

@Column(name = "country", nullable = false)
private String country;

@Column(name = "city", nullable = false)
private String city;

@Column(name = "street", nullable = false)
private String street;

@Column(name = "zipCode", nullable = false)
private String zipCode;

// constructor + getters

}

我想创建一个名为Address的新类,它将保存国家/地区、街道、城市和邮政编码变量。然后,概述的变量将替换为 Address 对象,以使代码更具可读性和更清晰。

就我而言,应该嵌入 Address 类还是应该将其分配为新实体并在 Address 和 Customer 之间提供 @OneToOne 关系?

谢谢

最佳答案

为了使您的代码更具可读性和更简洁,您应该创建一个包含国家/地区、城市...的 ADRESSE 表,然后您可以使用 @OneToOne 关系,如下所示:

在客户类中:

@OneToOne(mappedBy = "customer", fetch = FetchType.LAZY)
private Address address;
// Getter + Setter

在 Adresse 类中:

@OneToOne
@JoinColumn(name="id")
private Customer customer;

关于java - 将 JPA 实体一分为二?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155241/

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