Java 当hibernate决定更新对象时更新日期属性

Java 当hibernate决定更新对象时更新日期属性,java,hibernate,Java,Hibernate,我们知道,当您在hibernate中更新一个对象doing session.update(obj)时,它会检查这个对象是否已更改并决定是否更新,问题是,如果hibernate决定更新这个对象,我想更新另一个名为UPDATED_AT(BD)的列或对象中的属性 有什么方法可以做到这一点吗?您可以使用 侦听器是事件侦听器,Hibernate将在加载或保存对象时为某些事件调用这些侦听器 onSave在实际保存对象之前被调用,您将获得一个将被持久化的所有属性的列表,因此您可以在将更新发送到数据库之前对其进

我们知道,当您在hibernate中更新一个对象doing session.update(obj)时,它会检查这个对象是否已更改并决定是否更新,问题是,如果hibernate决定更新这个对象,我想更新另一个名为UPDATED_AT(BD)的列或对象中的属性

有什么方法可以做到这一点吗?

您可以使用

侦听器是事件侦听器,Hibernate将在加载或保存对象时为某些事件调用这些侦听器


onSave
在实际保存对象之前被调用,您将获得一个将被持久化的所有属性的列表,因此您可以在将
更新发送到数据库之前对其进行修改。

我们通过数据库触发器来执行此操作。我不确定hibernate中是否有这样的配置。尽管如此,如果hibernate中没有实现这一点的方法,我会有点惊讶。请查找有关拦截器的文档。我知道这可以通过触发器来实现,但我一直在寻找一种使用hibernate实现这一点的方法,所以我会查看拦截器……这似乎很有帮助,我会在我让它工作时更新答案,谢谢:)我有一个问题,当我使用session.getCurrentSession()时,我的拦截器不工作,请注意,我在打开session时已经添加了这个拦截器。请用代码打开一个新问题,问你如何安装拦截器(以及何时)以及你想使用它时如何获得会话。我已经这样做了,我只想问另一个问题我会感谢你的帮助。。。看见