0
次のエンティティを考えてみてください:は、マッピングされたエンティティのプロパティは読み取り専用
は@Entity
public class MyEntity implements Serializable {
@Id
private String id;
@OneToOne
private Person person;
}
@Entity
public class Person implements Serializable {
@Id
private String id;
private String name;
// ... many more properties which should be read-only
}
時々、マッピングされたPerson
のname
が変更され、Hibernate
は更新ステートメントを生成します。しかし、私はこれらが起こることを望んでいません。
マッピングされperson
のプロパティ読み取り専用をマークする方法はありますか?マッピングされたperson
のIDへ
変更は(私が意味する、異なるperson
がMyEntity
に取り付けられている。)しかし、まだHibernate
更新MyEntity
を行う必要があります。ドキュメントから
はこれが考慮されています更新ステートメント(真のデフォルト)の一部とするかどうかmyEntityは変更可能です。 "name"のようなプロパティは読み取り専用でなければなりません。 (明確にするために質問に情報を追加しました) – yglodt
はい、 'Person'エンティティの更新時に' Person'''''''の '@Column(updatable = false)'を 'Person'''の' name'に置くことによって、その列だけが残されます。あなたが親のエンティティに別の人物を割り当てるのを止めるべきではありません。 – veljkost
私は何が必要なのか説明するのに困っている...私は一般的に人を更新したい。それらがMyEntityにマッピングされている間だけではありません。 – yglodt