休眠/ JPA中的@PreUpdate和@Prepersist(使用会话)

我已经打了一个拦截器将修复到现有project.the主要问题是,我一定会喜欢使用@Prepersist,并@PreUpdatePOJO照顾LastModified使用Hibernate实现JPA与会议现场(INSERT和UPDATE)。

:需要进行此更改,因为有必要使用,liquibase

1.9.5而且我知道(因为我之前已经面对过),liquibase使用默认的current_timestamp将时间戳转换为日期时间,这对于mysql数据库来说太糟糕了。

所以我需要一种在代码中而不是在数据库中进行设置的方法,以便我可以安全地将timestamp字段更改为datetime。然后liquibase很高兴,我很高兴。

现在似乎这些解释器没有被执行,经过很少的搜索,我发现它适合使用entityManager。这目前是没有问题的,所以我想知道是否有解决我的问题的

方法,这意味着使用@Prepersistor

@PreUpdate或or甚至其他解决方法来设置lastModified字段仍使用会话

回答:

现在看来这些解释器尚未执行,经过很少的搜索,我发现使用entityManager是合适的。

是的,如果您使用的是SessionAPI ,则JPA回调将不起作用。

所以我想知道是否有解决我问题的简单方法,这意味着可以使用@PrePersist或@PreUpdate或其他解决方法来设置lastModified字段仍在使用会话

据我所知,周围有没有简单的方法(如果你使用Spring, MAYBE

看看这个帖子虽然)。

我对基于Hibernate的解决方案的建议是使用事件(和一个或多个接口)。检查休眠和最后修改日期的示例。

以上是 休眠/ JPA中的@PreUpdate和@Prepersist(使用会话) 的全部内容, 来源链接: utcz.com/qa/414486.html

回到顶部