67,515
社区成员
发帖
与我相关
我的任务
分享
public void removeOrUpdate(final String hql, final Object[] values,
final boolean t) throws DAOException {
try {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List<Integer> result = new ArrayList<Integer>();
Query query = session.getNamedQuery(hql);
if (values != null) {
for (int i = 0; i < values.length - 1; i++) {
query.setParameter(i, values[i]);
}
if (t)
query.setParameterList("ids",
(String[]) values[values.length - 1]);
else
query.setParameter(values.length - 1,
values[values.length - 1]);
}
result.add(query.executeUpdate());
return result;
//for test
}
});
} catch (Exception e) {
log.error("批量删除或更新对象出错");
throw new DAOException(e.getMessage());
}
}
public void testRemoveOrUpdate() {
Transaction tx= baseDAO.getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction();
tx.begin();
String hql = "UPDATE_CHECK_AND_LEVEL";
Date approveDate = new Date(System.currentTimeMillis());// 获取当前时间
Object[] values = { approveDate, "8aa2b2671eced198511ecedab3c10327" };
Boolean t=false;
baseDAO.removeOrUpdate(hql, values, t);
tx.commit();
}
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
//在这里用session提交事务 }
});