首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jpa查询错误:无法绑定多部分标识符

jpa查询错误:无法绑定多部分标识符
EN

Stack Overflow用户
提问于 2016-07-02 20:48:36
回答 1查看 413关注 0票数 0

我在Spring应用程序中使用JPA自定义查询,其中我需要多次查询一个表。

我在存储库中编写了以下查询:

代码语言:javascript
运行
复制
@Query(value="SELECT *"+
"FROM TBLSTUDENTEQUALITY as e"+
"left join VLE_LOOKUP_DATA as di on e.DISABLE_ID=di.ID"+
"left join VLE_LOOKUP_DATA as d on e.DOMICILE_ID=d.ID"+
"left join VLE_LOOKUP_DATA as n on e.ETHNIC_ID=n.ID"+
"left join VLE_LOOKUP_DATA as g on e.GENDER_ID=g.ID"+
"left join VLE_LOOKUP_DATA as na on e.NATIONALITY_ID=na.ID"+
"left join VLE_LOOKUP_DATA as s on e.SEX_ID=s.ID"+
"left join VLE_LOOKUP_DATA as o on e.SEXORT_ID=o.ID"+
"left join VLE_LOOKUP_DATA as r on e.RELIGION_ID=r.ID"+
"where STUDENT_ID=?1",nativeQuery=true)
public List<StudentEquality> getAll(Long ID);

此查询在sql server中成功运行,但在spring boot应用程序中会产生如下错误:

代码语言:javascript
运行
复制
 java.sql.SQLException: The multi-part identifier "e.DISABLE_ID" could not be bound.

如果我删除e.disable-id行,它会出现在下一行。我已经浏览了很多资源,建议可能是列或表名,因为它不存在,但如果是这样的话,它在SQL server中也会给出错误。

EN

回答 1

Stack Overflow用户

发布于 2016-07-02 21:25:53

查询无效,因为它在每个句子末尾的子句之间没有空格。在每行之前或之后添加空格

代码语言:javascript
运行
复制
@Query(value="SELECT * "+
"FROM TBLSTUDENTEQUALITY as e "+
"left join VLE_LOOKUP_DATA as di on e.DISABLE_ID=di.ID "+
"left join VLE_LOOKUP_DATA as d on e.DOMICILE_ID=d.ID "+
"left join VLE_LOOKUP_DATA as n on e.ETHNIC_ID=n.ID "+
"left join VLE_LOOKUP_DATA as g on e.GENDER_ID=g.ID "+
"left join VLE_LOOKUP_DATA as na on e.NATIONALITY_ID=na.ID "+
"left join VLE_LOOKUP_DATA as s on e.SEX_ID=s.ID "+
"left join VLE_LOOKUP_DATA as o on e.SEXORT_ID=o.ID "+
"left join VLE_LOOKUP_DATA as r on e.RELIGION_ID=r.ID "+
"where STUDENT_ID=?1",nativeQuery=true)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38160334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档