使用Apache OpenJPA开发EJB 3.0应用,第6部分:处理实体生命周期事件的回调 - 编程入门网
3. …
4. }
实体监听器继承层次 由于 OpenJPA 中实体是支持继承的 ,实体之间的监听器也被实体的子类继承下来,这些实体监听器方法在被触发时 的遵循下面的调用顺序: 首先,默认的监听器首先被调用,默认的监听器 是指在包注释中定义的监听器; 接下来 , 实体监听器按照继承层次顺序 被调用 , 父类监听器在子类监听器之前被调用; 最后 , 如果一个实体的 同一个回调事件要触发多个监听器的话 , 这些监听器按照声明的先后顺序被调用 ; 开发者可以选择屏蔽在父类或者包中声明的监听器,只需要使用下面两 个类级别的注释 : javax.persistence.ExcludeSuperclassListeners 为 实体类提供 javax.persistence.ExcludeSuperclassListeners 注释,可以屏蔽 所有当前实体类的所有父类中声明的实体监听器。 javax.persistence.ExcludeDefaultListeners 为实体类提供 javax.persistence.ExcludeDefaultListeners 注释,可以屏蔽当前实体类和它 所有子类的所有默认监听器。 总结 企业应用中经常有一些特别的 需求:在某一个数据被处理的时候,需要引发一连串的操作,OpenJPA 中提供实 体生命周期事件回调机制为这种需求提供了更好的解决方案,OpenJPA 中实体生 命周期能够支持实体被持久化之前、实体可以被持久化、实体状态写入数据库之 前、实体状态写入数据库之后、实体被加载、实体被删除之前、实体被删除之后 共 7 种事件,开发者可以根据需要选择为其中的一个或者多个事件编写回调方法 。本文中结合简单的例子描述了如何通过 OpenJPA 提供简单的注释、结合 Java 方法就可以监听、处理实体生命周期事件回调的过程。 原文: http://www.ibm.com/developerworks/cn/java/j-lo-openjpa6/ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |