关于Hibernate5.2之后createCriteria(),@deprecated(过时的)
2017-11-11 15:56
507 查看
发现问题
今天学到Hibernate的查询所有对象Criteria,发现获取Criteria的方法createCriteria()已经过时/** * Create {@link Criteria} instance for the given class (entity or subclasses/implementors). * * @param persistentClass The class, which is an entity, or has entity subclasses/implementors * * @return The criteria instance for manipulation and execution * * @deprecated (since 5.2) for Session, use the JPA Criteria */ @Deprecated Criteria createCriteria(Class persistentClass);
Hibernate推荐使用JPA的规范获取Criteria
解决问题
在百度之后,发现国内很少有这样的参考资料,或者解决办法,于是去了Google.在stack flow上看到了解决办法1.创建session对象(因为配置文件加载不一致,我这里默认获取到session)
Session session = factory.openSession();
2.创建CriteriaBuilder对象
CriteriaBuilder build = session.getCriteriaBuilder();
3.获取CriteriaQuery
CriteriaQuery<User> criteria = builder.createQuery(User.class);
4.指定根条件
criteria.from(User.class);
5.执行查询
Query<User>criteria.createQuery(criteria);
6.返回查询结果集
List<User> resultList = query.getResultList();
总结
之前用Criteria查询所有是这样的List<User> categories = session.createCriteria(User.class).list();
因为用了JPA的规范,所以变成了上述这样,建议大家遵循规范,追赶时代潮流
4000
相关文章推荐
- Hibernate5.2版本之后 createCriteria()方法过时的替换方式
- Hibernate5.2中关于Criteria的用法
- Hibernate中createCriteria即QBC查询的详细用法
- Hibernate createCriteria查询
- 关于Hibernate save方法执行之后得到的id与数据库中实际存入值的id不一致的问题
- Hibernate createCriteria查询详解
- Hibernate createCriteria查询详解
- 关于Hibernate的Criteria查询
- Hibernate中createCriteria即QBC查询的详细用法
- 关于hibernate的session.createSQLQuery(sql)直接调用底层SQL后,返回结果集的问题
- Hibernate createCriteria查询
- Hibernate4 session中的createCriteria方法
- 关于hibernate的 createSqlQuery
- Hibernate 查询之createCriteria
- 解惑 getHibernateSession().createCriteria(*).add(Restrictions.in(*)).list()
- 关于hibernate执行createSQLQuery时字段重名的问题
- Hibernate中createCriteria即QBC查询的详细用法和HQL的区别?
- Hibernate createCriteria查询详解
- 关于Hibernate中Criteria的使用
- Hibernate中createCriteria即QBC查询的详细用法