我有一个数据库表警报并且正在使用 Hibernate。我正在使用 mySQL。
我想更新数据库的所有列。表名是 alert,而表的映射类是 Alert。
使用 SQLQUERY:
session.beginTransaction();
session.createSQLQuery("update alert set retryCount=3");
session.getTransaction().commit();
session.close();
不管用。
使用动态更新属性使用 HQL
Query query=session.createQuery("from Alert");
for(int i=0;i<query.list().size();i++){
Alert alert=(Alert)query.list().get(i);
alert.setretryCount(3);
session.update(alert);
}
session.getTransaction().commit();
正在工作中
虽然第二个正在工作,但我认为它比普通的 sql 查询需要更多时间。是这样吗?在使用休眠时更新所有行的一组列的最佳方法是什么。