我可以使用Criteria删除表格中的记录吗?
例如,
Criteria toDelete = session.createCriteria(Car.class, "car").createAlias("car.wheel", "wheel");
toDelete.add(Restrictions.eq("brand", "Toyota"));
toDelete.add(Restrictions.eq("wheel.brand", "BBS");
toDelete.add(Restrictions.gt("date_of_purchase", someDay);
toDelete.add(Restrictions.between("cost", 3000, 5000);
如何使用删除标准删除我感兴趣的记录?一种低效的方法是使用toDelete标准查询id,然后从那里删除Car对象。 另外,我可以知道删除了多少个对象吗?
答案 0 :(得分:2)
您应该将您的hibernate版本升级到实现JPA 2.1的版本(Hibernate在版本4.3.11上启动JPA 2.1.Final - Hibernate Downloads)
升级后,您可以使用 CriteriaDelete 来执行您想要的操作。这是一个小例子:Example
答案 1 :(得分:1)
在我看来,你不能这样做,因为Hibernate不支持。
作为替代品,您可以使用以下内容:
String hql ="从User中删除UserName =:name&#34 ;;
查询query = session.createQuery(hql);
query.setString(" name"," User 9");
int rowCount = query.executeUpdate();
System.out.println("受影响的行:" + rowCount);
祝你好运, Hung NGUYEN