我有一个对象-
@Entity
public class myObject{
public string fieldA;
public string fieldB
...
}
我没有它的任何实例,但我想删除数据库中所有具有
fieldA == A
。
这是正确的方法吗?
try {
session.beginTransaction();
session.createQuery("delete from MyObject where fieldA = " +
"BlaBla").executeUpdate();
session.getTransaction().commit();
savedSuccessfully = true;
} catch (HibernateException e) {
session.getTransaction().rollback();
savedSuccessfully = false;
} finally {
session.close();
}
return savedSuccessfully;
最佳答案
看看使用 native sql in hibernate和 session.createSQLQuery
以确保 hibernate 不参与使用 HSQL 连接 bean。
同时避免使用字符串连接来构建您的查询。最后,您的数据库很可能成为像这样的简单查询的瓶颈,因此请确保您在表上有适当的索引。
关于java - Hibernate - 如何在不加载到内存的情况下删除条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599642/