我希望JPA实体中的一些mycoulmns在插入/更新期间从数据库中获取值,例如来自Oracle的sys_context,我相信JPA时态注释包括插入/更新期间生成的数据库时间戳,是否有任何方法可以在插入/更新期间创建一个自定义注释,或者在插入/更新期间提供一些默认值,如果您遇到这种情况,有人可以给出几个指针吗?
发布于 2010-07-18 18:06:15
我希望JPA实体中的一些mycoulmns在插入/更新期间从数据库中获取值。
将@Column
配置为不可插入和可更新,并使用@Generated
(Hibernate特定注释)对字段进行注释。通过这样做,Hibernate将在插入更新之后从数据库中获取值。参考文件中:
2.4.3.5.生成属性 某些属性是在插入或更新时由数据库生成的。Hibernate可以处理这些属性,并触发随后的选择来读取这些属性。 @Entity public class Antenna { @Id public Integer id;@Generated(GenerationTime.ALWAYS) @Column(插入= false,updatable = false)公共字符串经度;@GenerationTime.INSERT@列(插入=假)公共字符串纬度;} 将属性注释为
@Generated
,您必须确保插入性或可更新性与您选择的生成策略不冲突。当选择GenerationTime.INSERT
时,该属性不能包含可插入的列,当选择GenerationTime.ALWAYS
时,该属性不能包含可插入或可更新的列。 根据设计,@Version
属性不能是@Generated(INSERT)
,它必须是NEVER
或ALWAYS
。
https://stackoverflow.com/questions/3276599
复制相似问题