私は、適切な単体テストも何もないレガシーシステムで作業しているため、システムで行う変更には非常に注意する必要があります。
私が持っている基本的なシナリオは次のとおりです。私は 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 テーブルに ADDRESS_TYPE というカラムを追加しようと考えているのですが、実装方法に苦労しています。タイプ Address の新しい属性 postalAddress を持ち、getPostalAddress と同じくらい簡単に postalAddress を取得したいだけです。