我是在Hibernate的最早版本中做到的,如下所示
sessionFactory.getCurrentSession().createCriteria(TestCase.class).list();
但 5.2.0.Final 版本中不推荐使用createCriteria
方法:
/** @deprecated */
@Deprecated
Criteria createCriteria(Class var1);
这个简单示例的替代解决方案是什么?
答案 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();
}