是否可以在保存对象之前随时调用验证方法

时间:2011-09-10 08:36:16

标签: hibernate activerecord jpa jpa-2.0

在ActiveRecord中,可以检查某个对象的状态在某个时间点是否有效。

>> foo.valid?
=> false

有没有办法在JPA2中做类似的事情,因为验证框架实际上在保存之前在JPA中被触发了更新

1 个答案:

答案 0 :(得分:1)

是的,您可以创建在发生不同事件时触发的事件侦听器,例如在实体被持久化,修改等之前。

这是一个基本用法

  • 在您的Entity bean中创建一个方法
  • 使用@PrePersist,@ PostPersist annotations之一注释它
  • 将在bean
  • 中的那些(那些)生命周期事件中调用该方法中的代码

您还可以在单​​独的类中创建回调逻辑,并通过类级别注释(@EntityListeners)将这些侦听器附加到实体bean。

这里有很多关于调用这些监听器的顺序,继承它们等以在此详细说明它的内容。查一查。