java - 在 hibernate 中注释派生数据库列

标签 java hibernate annotations

在我们的数据库表中,我们记录了一个大字符串及其对应的md5值。在mysql5中,我们插入这样一条记录

insert (md5,content) values (md5(content), hex(content));

进入 hibernate 状态,我已经注释了实体

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

效果很好。但我不知道如何注释 md5 列,以便在插入时自动生成它。特别是,列转换器将不起作用,因为 ?注解中指的是md5字段,而不是content字段。

任何意见或帮助表示赞赏。

最佳答案

您可以使用 hibernate 拦截器并精确地预先保存(在本例中)事件以进行加密。 在这里阅读有关 hibernate 拦截器的信息 Hibernate Interceptors

关于java - 在 hibernate 中注释派生数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773907/

相关文章:

java hibernate eclipse xml - 使用没有主键的实体

java - 注解配置-spring配置类位置怎么说

Java异常处理习语...谁说的对,怎么处理?

java - Hibernate @OneToMany 映射给出异常,

java - DI、Guice 和策略模式

java - 如何坚持使用 Hibernate

swift - 制作多个引脚注释按钮以连接到另一个 View Controller (swift 3)

iphone - 没有在适当的时候更新iphone中mkMapView中的注释标题和副标题

java - tomcat 7 JDBC 连接池 - 每个数据库的独立池?

java - JodaTime 类型转换