Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring CriteriaAPI已弃用,如何转换ti CriteriaQuery?_Spring_Spring Boot_Hibernate_Criteria_Criteriaquery - Fatal编程技术网

Spring CriteriaAPI已弃用,如何转换ti CriteriaQuery?

Spring CriteriaAPI已弃用,如何转换ti CriteriaQuery?,spring,spring-boot,hibernate,criteria,criteriaquery,Spring,Spring Boot,Hibernate,Criteria,Criteriaquery,我正在将一个旧的现有项目迁移到Springboot。 我有以下方法: public List<T> findAll(Class<?> clazz) { Criteria search = entityManager.unwrap(Session.class).createCriteria(clazz); List<T> entities = search.list(); return entities; } 这是可行的,但当我运行该项

我正在将一个旧的现有项目迁移到Springboot。 我有以下方法:

public List<T> findAll(Class<?> clazz) {
    Criteria search = entityManager.unwrap(Session.class).createCriteria(clazz);
    List<T> entities = search.list();
    return entities;
}
这是可行的,但当我运行该项目时,我收到以下警告:
Hibernate的遗留org.Hibernate.Criteria API已被弃用;改用JPA javax.persistence.CriteriaQuery

如何将其转换为使用
javax.persistence.CriteriaQuery
并仍然能够收到相同的结果?我从未同时使用过这两种API

谢谢你的帮助

全部查找:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Country> cq = cb.createQuery(Country.class);

Root<Country> rootCountry= cq.from(Country.class);
cq.select(rootCountry);

List<Country> result = entityManager.createQuery(cq).getResultList();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery cq=cb.createQuery(Country.class);
根rootCountry=cq.from(Country.class);
cq.select(rootCountry);
List result=entityManager.createQuery(cq.getResultList();
按名称查找:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Country> cq = cb.createQuery(Country.class);

Root<Country> rootCountry= cq.from(Country.class);
cq.select(rootCountry);
cq.where(cb.equal(rootCountry.get(Country_.name),NAME))
// if you don't use metamodel (although it is recommended) -> cq.where(cb.equal(rootCountry.get("name"),NAME))

Country result = entityManager.createQuery(cq).getSingleResult();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery cq=cb.createQuery(Country.class);
根rootCountry=cq.from(Country.class);
cq.select(rootCountry);
cq.where(cb.equal(rootCountry.get(Country.name),name))
//如果不使用元模型(尽管建议使用)->cq.where(cb.equal(rootCountry.get(“name”)),name))
Country result=entityManager.createQuery(cq.getSingleResult();
你能在这个链接中阅读更多关于这方面的信息吗

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Country> cq = cb.createQuery(Country.class);

Root<Country> rootCountry= cq.from(Country.class);
cq.select(rootCountry);

List<Country> result = entityManager.createQuery(cq).getResultList();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery cq=cb.createQuery(Country.class);
根rootCountry=cq.from(Country.class);
cq.select(rootCountry);
List result=entityManager.createQuery(cq.getResultList();
按名称查找:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Country> cq = cb.createQuery(Country.class);

Root<Country> rootCountry= cq.from(Country.class);
cq.select(rootCountry);
cq.where(cb.equal(rootCountry.get(Country_.name),NAME))
// if you don't use metamodel (although it is recommended) -> cq.where(cb.equal(rootCountry.get("name"),NAME))

Country result = entityManager.createQuery(cq).getSingleResult();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery cq=cb.createQuery(Country.class);
根rootCountry=cq.from(Country.class);
cq.select(rootCountry);
cq.where(cb.equal(rootCountry.get(Country.name),name))
//如果不使用元模型(尽管建议使用)->cq.where(cb.equal(rootCountry.get(“name”)),name))
Country result=entityManager.createQuery(cq.getSingleResult();
你能在这个链接中读到更多关于这个的信息吗