当前位置: 代码迷 >> SQL >> spring中运用回掉让hibernate执行sql语句
  详细解决方案

spring中运用回掉让hibernate执行sql语句

热度:57   发布时间:2016-05-05 12:57:53.0
spring中使用回掉让hibernate执行sql语句
本文为菜鸟贴,高手们大可不比看
如果忘了回掉怎么用,可以不用google啦


在hibernate中不是很推荐使用回掉的,原因很简单,在回掉中不好得到id尤其是集群中,uuid更是很难获得,但是有的时候又非得用他不可
如:关联的时候,想删除主表的东西,又不想让从表产生变化,这时候,我们就可以小用下回掉这个东东啦


例子代码如下:
public void deleteUserRolesByUserId(String userId) {		final String tempId = userId;		getHibernateTemplate().execute(new HibernateCallback() {			public Object doInHibernate(Session session)					throws HibernateException {				String hql = "DELETE FROM UserRole ur WHERE ur.user=:user";				Query query = session.createQuery(hql);				query.setParameter("user", session.get(User.class, tempId));				return query.executeUpdate();			}		});	}
  相关解决方案