在jpa 2中,home使用@prepersist等注释来声明这些方法,并按顺序执行这些方法。有时我们还为侦听器创建了不同的类,并使用@EntityListener注释在实体上应用此类,并且我们还在实体中声明了方法,那么执行这些方法的顺序是什么?
答案 0 :(得分:3)
关于调用的顺序,JPA 2规范第3.5节规定:
如果有多个实体监听器 如果定义了它们,它们的调用顺序取决于它们的指定顺序 在EntityListeners注释中。 XML描述符可以用作替代 指定实体侦听器的调用顺序或覆盖元数据注释中指定的顺序。
关于使用多种方法进行相同生命周期事件的问题,JPA 2规范在第3.5节中说明:
对于同一生命周期事件,单个类不得具有多个生命周期回调方法。相同的方法可用于多个回调事件。
答案 1 :(得分:0)
可以在以下位置声明 SELECT userName, userPassword FROM umbracoUser WHERE id = 0
注释方法:
@PrePersist
anotation在实体类和他的任何实体或超映射的引用的听众的顺序在JPA 2.2规范(3.5.4在JPA 2.0规范)的3.5.5节中定义,并总结这将是:
@EntityListener
在它们出现在对实体类注释的顺序定义。如果有关于超类引用的实体hieararchy听众在子类中所引用的侦听器之前被执行。