假设类型 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文档…
您可以使用session.get:
session.get
public Object get(Class clazz, Serializable id) throws HibernateException
如果对象在数据库中不存在,它将返回null。您可以在Hibernate API文档中找到更多信息。