JPA Read-Only マッピング
JPA では今のところ読み込み専用で Entity を定義することはできない。
マッピングの定義で読み込み専用に定義することはできる。
@Entity public class Employee { @Id @Column(insertable=false) private int id; @Column(insertable=false, updatable=false) private String name; @Column(insertable=false, updatable=false) private long salary; @ManyToOne @JoinColumn(name="DEPT_ID", insertable=false, updatable=false) private Department department; // ・・・ }
このように定義することで、Employee
インスタンスのフィールドに対する追加と更新の操作はデータベースに対して無効化される。
なお、id
に対しては一意識別子であるため更新はあり得ないため updatable については気にしなくてよい。
以上!