如何使用hibernate-core-5.2.0.Final.jar获取所有对象

时间:2016-06-29 20:31:22

标签: java hibernate jpa-2.0 jpql hibernate-criteria

我是在Hibernate的最早版本中做到的,如下所示

sessionFactory.getCurrentSession().createCriteria(TestCase.class).list();

5.2.0.Final 版本中不推荐使用createCriteria方法:

/** @deprecated */
    @Deprecated
    Criteria createCriteria(Class var1);

这个简单示例的替代解决方案是什么?

1 个答案:

答案 0 :(得分:1)

以这种方式找到了类型安全的解决方案:

@PersistenceContext
protected EntityManager entityManager;

public List<TestCase> findAll() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<TestCase> cq = cb.createQuery(TestCase.class);
Root<TestCase> from = cq.from(TestCase.class);
CriteriaQuery<TestCase> all = cq.select(from);
TypedQuery<TestCase> allQuery = em.createQuery(all);
return allQuery.getResultList();
}