Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 多对一单向关系的条件查询_Java_Sql_Jpa_Criteria Api - Fatal编程技术网

Java 多对一单向关系的条件查询

Java 多对一单向关系的条件查询,java,sql,jpa,criteria-api,Java,Sql,Jpa,Criteria Api,这回答了相反的关系。我一直在尝试为以下模型提出一个条件查询: @Entity public class One { @Id private BigInteger supplierId; @Column(name = "name") String name; ... } @Entity public class Many { @Id private BigInteger posId; @ManyToOne @Jo

这回答了相反的关系。我一直在尝试为以下模型提出一个条件查询:

@Entity
public class One {

    @Id
    private BigInteger supplierId;

    @Column(name = "name")
    String name;


    ...
}

@Entity
public class Many {

    @Id
    private BigInteger posId;

    @ManyToOne
    @JoinColumn(name = "column_name")
    One one;

    @Column(name = "description")
    String description;
}
我不能改变模型。我大部分都是这样保持它的单向性。我正在尝试为以下情况提供Criteria Builder代码: -我将被赋予以下属性:
nam
desc
。我需要找到所有的
One
实体,其名称属性等于
nam
,并且有一个相关的
Many
实体,其描述属性等于
desc

Criteria query = this.getSession().createCriteria(Many.class);
query = query.add(Restrictions.eq("one.name", nam));
query = query.add(Restrictions.eq("description", desc));
query.list();

这种方法不起作用???

我将把它翻译成JPA标准生成器并检查它是否起作用。但我怀疑不会。我想我需要两个根来让它工作,还有一个连接。还要注意的是,我正在寻找类型为
One
的结果,只是用may.getOne()获取值,还是将其设置为eager?您也可以在条件中使用子查询。。。