您的位置:首页 > 其它

hibernate中hql的 in用法

2014-12-24 15:46 513 查看
删除表PatrolJobContent中的部分deviceId,deviceId保存在List<String>deviceIds中

我们可以通过遍历List,一条一条的删除记录:

public void deleteDeviceIds (List<String>deviceIds){
		String hql ="delete from PatrolJobContent as p where p.PatrolDevice.uuid= ? ";
		for(String uuid : deviceIds){
			Query q =this.createQuery(hql, new Object[]{uuid});
			q.executeUpdate();
			
		//	this.execute(hql, new Object[]{uuid});
		}
	}


现在我们根据hql的关键字 in,来进行删除操作

public void deleteDeviceIds(final List<String> deviceIds) {
		this.getHibernateTemplate().execute(new HibernateCallback<Object>() {

			@Override
			public Object doInHibernate(Session session) throws HibernateException {
				session.createQuery("delete from PatrolJobContent as p where p.PatrolDevice.uuid in (:deviceIds) ").setParameterList("deviceIds", deviceIds);
				return null;
			}
		});

	}


即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: