一尘不染

Hibernate:检查对象是否存在

hibernate

假设类型 A的 对象存储在DB中。这是我使用hibernate从数据库加载特定数据库的方式:

org.hibernate.Session session = ...;
long id = 1;
A obj = session.load(A.class, id);

如果id = 1的对象不存在,我将得到 ObjectNotFoundException
。但是,有没有一种方法可以检查此类对象是否存在而不必捕获异常?我想拥有的是:

org.hibernate.Session session = ...;
long id = 1;
boolean exists = session.exists(A.class, id);
if(exists){
 // do smth.....
}

找不到hibernate文档…


阅读 389

收藏
2020-06-20

共1个答案

一尘不染

您可以使用session.get

public Object get(Class clazz,
                  Serializable id)
           throws HibernateException

如果对象在数据库中不存在,它将返回null。您可以在Hibernate
API文档中
找到更多信息。

2020-06-20