Hiberanate的拦截器和监听事件

来源:互联网 发布:高斯键盘知乎 编辑:程序博客网 时间:2024/04/30 15:03

创建监听类: SaveOrUpdateListener

public classSaveOrUpdateListener extends DefaultSaveOrUpdateEventListener {       @Override       public voidonSaveOrUpdate(SaveOrUpdateEvent event) {              // TODO Auto-generated method stub              System.out.println("保存前执行");    //判断是否对用户表进行操作if(event.getObject() instanceof entity.UserInfo){              UserInfo user=(UserInfo)event.getObject();       super.onSaveOrUpdate(event);     //执行后续操作       }              System.out.println("保存后执行");       }}

同时需要在hibernate.cfg.xml文件中进行配置监听的事件:

//放在.xml文件底部

<eventtype="save-update">

       <listenerclass="listener.SaveOrUpdateListener"/>

</event>

 

命名查询

需要在数据映射元文件中进行配置,如:

<query name=“getUserByGender”>

       <![CDATA[from UserInfo wheregender=:gender]]>

</query>

在JAVA代码中的实现,如:

Query q=session.getNamedQuery(“getUserByGender”);

q.setString(“gender”,”男”);

原创粉丝点击