在hibernate中注释派生的数据库clolumns

时间:2017-08-19 16:34:40

标签: java hibernate annotations

在我们的数据库表中,我们记录一个大字符串及其相应的md5值。在mysql5中,我们用

插入这样的记录
insert (md5,content) values (md5(content), hex(content));

转向休眠,我注释了实体

@Column(name = "content", columnDefinition = "MEDIUMTEXT")
@ColumnTransformer(read = "unhex(content)", write="hex(?)")
private String content;

效果很好。但我没有看到如何注释md5列,以便它可以在插入时自动生成。特别是,columntransformer不起作用,因为?在注释中引用的是md5字段,而不是内容字段。

任何观察或帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用休眠拦截器并准确预先保存(在本例中)事件以进行加密。 在这里阅读hibernate拦截器Hibernate Interceptors