在休眠标准中使用限制时出错

问题描述 投票:0回答:1

我是新来的休眠和学习HCQL(休眠标准查询语言)的人,并尝试在下面的代码下运行但收到警告-'不赞成使用SharedSessionContract类型的createCriteria(Class)方法'

Criteria myCriteria = session.createCriteria(Employee.class);
        Criterion nameCriteria = Restrictions.eq("name", "Amit");        
        myCriteria.add(nameCriteria);

所以我在Google上搜索并尝试了以下代码,但现在在myCriteria.add(nameCriteria)方法中得到了错误-'对于CriteriaQuery类型,未定义方法add(Criterion)'

CriteriaBuilder builder = session.getCriteriaBuilder();
        CriteriaQuery<Employee> criteria = builder.createQuery(Employee.class);
        Root<Employee> employeeRoot=criteria.from(Employee.class);
        criteria.select(employeeRoot);
        Criterion nameCriteria = Restrictions.eq("name", "Amit");        
        criteria.add(nameCriteria);

有人可以帮我吗?谢谢

hibernate hibernate-criteria
1个回答
0
投票
CriteriaBuilder builder = session.getCriteriaBuilder(); CriteriaQuery<Employee> criteria = builder.createQuery(Employee.class); Root<Employee> employeeRoot = criteria.from(Employee.class); criteria.select(employeeRoot) .where( builder.equal( employeeRoot.get("name"), "Amit") ); TypedQuery<Employee> query = em.createQuery(criteria); Employee emp = query.getSingleResult();

See reference docs

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.