1. ホーム
  2. java

[解決済み] JPAの@Columnアノテーションを参照して、insertable=falseとupdatable=falseについて説明してください。

2022-04-21 21:08:51

質問

フィールドにアノテーションがある場合 insertable=false, updatable=false ということは、値を挿入したり、既存の値を変更したりすることはできないのでしょうか?なぜ、そんなことをしたいのでしょうか?

@Entity
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @OneToMany(mappedBy="person", cascade=CascadeType.ALL)
    private List<Address> addresses;
}

@Entity
public class Address {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @ManyToOne
    @JoinColumn(name="ADDRESS_FK")
    @Column(insertable=false, updatable=false)
    private Person person;
}

解決方法は?

の時にそうするのでしょう。 責任 参照されるカラムの作成/更新が 現在の エンティティではなく 別の のエンティティになります。