我正在研究一个遗留系统,它没有适当的单元测试,也没有,所以我需要非常小心我在系统中所做的任何更改。
我的基本情况是:我有一个与 Address 有 ManyToOne 关系的 Person,我无法改变这种关系。但要知道地址有多种类型,例如:帐单地址和邮寄地址。
public class Person {
@Id
@Column(name = "PERSON_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column(name = "PERSON_NAME")
private String personName;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ADDRESS_ID")
private Address address;
getters and setters
地址类
public class Address {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ADDRESS_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "STREET_1_NAME")
private String street1Name;
@Column(name = "STREET_2_NAME")
private String street2Name;
getters and setters
我正在考虑将 ADDRESS_TYPE 列添加到 ADDRESS 表中,但我正在努力解决如何实现它。我只想拥有一个地址类型的新属性 postalAddress,并像 getPostalAddress 一样简单地获取 postalAddress。