gpt4 book ai didi

java - 如何实现 dao 来获取列表而不使用 createCriteria() 并获取具有以下属性的列表?

转载 作者:行者123 更新时间:2023-12-02 10:15:27 25 4
gpt4 key购买 nike

我正在 Spring-5、Maven 项目和 Hibernate 5 中实现 DAO,以便在以下命令的帮助下获取带有偏移量和最大计数的列表 sessionFactory.getCurrentSession().createCriteria() 但它现在已弃用,我想实现

我希望这三个函数采用新方法来替换 createCiteria()

@Override
public List<Department> list(Integer offset, Integer maxResults) {
return sessionFactory.getCurrentSession()
.createCriteria(Department.class)
.setFirstResult(offset!=null?offset:0)
.setMaxResults(maxResults!=null?maxResults:10)
.addOrder(Order.asc("department_name"))
.list();
}

并且

@Override
public Long count() {
return (Long)session.openSession()
.createCriteria(Department.class)
.setProjection(Projections.rowCount())
.uniqueResult();
}

AND with Restrictions.eq()

@Override
public List<Department> getAllDepartmentsByDepartmentTypeId(int department_type_id) {
return session.getCurrentSession()
.createCriteria(Department.class)
.addOrder(Order.asc("department_name"))
.add(Restrictions.eq("department_type_id", department_type_id))
.list();
}

我希望实现这三种方法,以便我可以使用代替已弃用的 createCriteria() 方法

最佳答案

使用javax.persistence.criteria.CriteriaBuilder相反,并使用

重新创建您的查询
builder.createQuery(...)

Examples可以查到all over place .

关于java - 如何实现 dao 来获取列表而不使用 createCriteria() 并获取具有以下属性的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54715881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com