现在的位置: 首页 > 综合 > 正文

Hiberanate的拦截器和监听事件

2013年09月26日 ⁄ 综合 ⁄ 共 714字 ⁄ 字号 评论关闭

创建监听类: 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”,”男”);

抱歉!评论已关闭.