Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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 JPQL TypedQuery-setParamer不工作_Java_Hibernate_Jpa_Jpql_Named Query - Fatal编程技术网

Java JPQL TypedQuery-setParamer不工作

Java JPQL TypedQuery-setParamer不工作,java,hibernate,jpa,jpql,named-query,Java,Hibernate,Jpa,Jpql,Named Query,我正在尝试使用命名查询获取具有一对一关系的实体。我的“where”条件在关系实体上。我给出了一个名为的参数。当我执行查询时,它忽略传递的参数并给出所有记录。 我尝试使用位置参数,但它也不起作用 查询 @NamedQuery( name=“country.by.region”, query=“在r.id=:regid上从国家/地区c选择c加入区域r” ) 国家实体 公共类国家{ @身份证 @列(name=“COUNTRY\u ID”) 私有字符串id; @列(name=“COUNTRY\u na

我正在尝试使用命名查询获取具有一对一关系的实体。我的“where”条件在关系实体上。我给出了一个名为的参数。当我执行查询时,它忽略传递的参数并给出所有记录。 我尝试使用位置参数,但它也不起作用

查询

@NamedQuery(
name=“country.by.region”,
query=“在r.id=:regid上从国家/地区c选择c加入区域r”
)
国家实体

公共类国家{
@身份证
@列(name=“COUNTRY\u ID”)
私有字符串id;
@列(name=“COUNTRY\u name”)
私有字符串名称;
@OneTONE(targetEntity=Region.class,cascade=CascadeType.ALL)
@JoinColumn(name=“REGION\u ID”)
私人区域;
// ...
}
区域实体

公共类区域{
@身份证
@列(name=“REGION\u ID”)
@GeneratedValue(策略=GenerationType.SEQUENCE,generator=“regSeq”)
私有int-id;
@列(name=“REGION\u name”)
私有字符串名称;
// ...
}
DAO Impl

@覆盖
公共列表查找人(地区){
TypedQuery query=getEntityManager().createNamedQuery(“country.by.region”,country.class);
setParameter(“regid”,region.getId());
query.setMaxResults(30);
返回query.getResultList();
}

尝试用以下方式更正您的查询:

select c from Country c join c.region r where r.id = :regid
另请参见文件的第1部分