休眠/ JPA中的@PreUpdate和@Prepersist(使用会话)
我已经打了一个拦截器将修复到现有project.the主要问题是,我一定会喜欢使用@Prepersist
,并@PreUpdate
在POJO
照顾LastModified
使用Hibernate实现JPA与会议现场(INSERT和UPDATE)。
:需要进行此更改,因为有必要使用,liquibase
1.9.5而且我知道(因为我之前已经面对过),liquibase使用默认的current_timestamp将时间戳转换为日期时间,这对于mysql数据库来说太糟糕了。
所以我需要一种在代码中而不是在数据库中进行设置的方法,以便我可以安全地将timestamp字段更改为datetime。然后liquibase很高兴,我很高兴。
现在似乎这些解释器没有被执行,经过很少的搜索,我发现它适合使用entityManager
。这目前是没有问题的,所以我想知道是否有解决我的问题的
方法,这意味着使用@Prepersist
or
@PreUpdate
或or甚至其他解决方法来设置lastModified
字段仍使用会话
回答:
现在看来这些解释器尚未执行,经过很少的搜索,我发现使用entityManager是合适的。
是的,如果您使用的是Session
API ,则JPA回调将不起作用。
所以我想知道是否有解决我问题的简单方法,这意味着可以使用@PrePersist或@PreUpdate或其他解决方法来设置lastModified字段仍在使用会话
据我所知,周围有没有简单的方法(如果你使用Spring, MAYBE
看看这个帖子虽然)。
我对基于Hibernate的解决方案的建议是使用事件(和一个或多个接口)。检查休眠和最后修改日期的示例。
以上是 休眠/ JPA中的@PreUpdate和@Prepersist(使用会话) 的全部内容, 来源链接: utcz.com/qa/414486.html