快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第6部分:处理实体生命周期事件的回调 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号