您好我正在寻找设置xml映射的解决方案,将默认列值设置为DB中配置。
e.g 表 列UPDATE_BY_DATE,UPDATE_BY_USER 输入timestamp,varchar 默认SYSDATE,USER
XML映射
<property name="updatedByTime" column="UPDATE_BY_DATE" not-null="true" type="timestamp" insert="false" update="false"/>
<property name="updatedByUser" column="UPDATE_BY_USER" length="20" not-null="true" insert="false" update="false"/>
这适用于插入新记录但在更新实体时不起作用。 我想让它也适用于更新。
请咨询
由于
答案 0 :(得分:0)
db中没有默认更新...您可以使用触发器或使用实体上的@PreUpdate注释更轻松地进行更新
例如
@Entity
public class Entity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
@Column(insertable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date entityCreation;
@Column()
@Temporal(TemporalType.TIMESTAMP)
private Date entityUpdate;
@PreUpdate
public void setLastUpdate() {
entityUpdate = new Date(System.currentTimeMillis());
}
每次更新实体时,请将其日期设置为currentMillis