And*_*708 9 java hibernate jpa
我使用Hibernate作为我的JPA提供程序,我希望在调用时忽略实体中的一个字段save()
.但是,我在相应的数据库表中有一个匹配列,我希望在获取实体时使用数据库值填充实体字段.因此,我希望在保存实体时忽略该字段,但在获取时不要忽略该字段.
如果我使用@Transient
,该字段被完全忽略,这不是我想要的.有没有办法做到这一点?
Luk*_*sko 14
从优秀的书籍JPA 2:
JPA定义了使用@Column和@JoinColumn注释的可插入和可更新元素将各个映射设置为只读的选项.这两个设置默认为true,但如果我们要确保提供程序不会在表中插入或更新信息以响应实体实例中的更改,则可以将其设置为false.如果映射表中的数据已经存在,并且我们希望确保它不会在运行时被修改,那么可插入和可更新元素可以设置为false,从而有效地阻止提供程序执行除了从数据库中读取实体之外的任何操作.
@Column(insertable = false, updatable = false)
private String readOnlyField;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8855 次 |
最近记录: |