如何实现dao以获取无createCriteria()的列表,并获取具有以下属性的列表



我正在使用Hibernate 5的春季5个项目实施DAO,以便在偏移和Maxcount的帮助下获得列表 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限制。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(...)

可以在整个地方找到示例。

相关内容

  • 没有找到相关文章

最新更新