Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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
Java 语法where子句与标准协商_Java_Hibernate_Criteria - Fatal编程技术网

Java 语法where子句与标准协商

Java 语法where子句与标准协商,java,hibernate,criteria,Java,Hibernate,Criteria,我需要在查询中放入where子句,但语法不正确 /* * Support listing and POSTing back Origem entities (e.g. from inside an * HtmlSelectOneMenu) */ public List<Origem> getAll() { CriteriaBuilder cb = this.entityManager

我需要在查询中放入where子句,但语法不正确

       /*
        * Support listing and POSTing back Origem entities (e.g. from inside an
        * HtmlSelectOneMenu)
        */

         public List<Origem> getAll()
   {

      CriteriaBuilder cb = this.entityManager.getCriteriaBuilder();
        CriteriaQuery<Origem> criteria = cb.createQuery(Origem.class);
        Root<Origem> root = criteria.from(Origem.class);
        return this.entityManager.createQuery(
                criteria.select(root).where())
                .getResultList();
   }
在我的where子句中,我希望使id等于登录用户的所有origem。 大概是这样的:

CriteriaBuilder cb = this.entityManager.getCriteriaBuilder();
Criteria cr = cb.createCriteria(Origem.class);
// add the restriction here
cr.add(Restrictions.eq("id", loginBean.origem.getId));
Origem root = (Origem) cr.uniqueResult();

例如:从origem.id=loginBean.origem.getId的原点选择*使用条件.addRestrictionsRestrictions.eqpropertyName,propertyValue

公共列表getAlllong idFromLoginBeanOrigin {

criteria.addRestrictions.eqorigem.id,idFromLoginBeanOrigin

}

我现在打出来了,可能是打错了,请检查一下

只需将criteria.addRestrictions.eq用于您的条件,我认为如果id是唯一的,您需要使用。uniqueResult要从您的条件中获得想要的结果,您的代码应该如下所示:

CriteriaBuilder cb = this.entityManager.getCriteriaBuilder();
Criteria cr = cb.createCriteria(Origem.class);
// add the restriction here
cr.add(Restrictions.eq("id", loginBean.origem.getId));
Origem root = (Origem) cr.uniqueResult();
CriteriaBuilder cb = this.entityManager.getCriteriaBuilder();
Criteria cr = cb.createCriteria(Origem.class);
// add the restriction here
cr.add(Restrictions.eq("id", loginBean.origem.getId));
Origem root = (Origem) cr.uniqueResult();