hibernate Spring Data JPA JPQL由于包名而导致的保留字异常

tv6aics1  于 2023-11-21  发布在  Spring
关注(0)|答案(1)|浏览(198)

使用JPQL,因为下面的查询引用了多个实体,所以呈现的SQL包含MyTableA和MyTableB的包名。在我的例子中,我的Java包名以“is”开头,因为我住在冰岛(Island)。我得到一个异常:“org.hibernate.hql.internal.ast.ErrorTracker:line 3:6:unexpected token:is”。看起来好像Hibernate的HQLParser/HQLLexer错误地失败了,出现了一个保留字异常。有人有类似的经验吗?这迫使我使用原生查询而不是JPQL,并阻止我使用QueryDsl等工具。谢谢你的任何建议。

"""
     SELECT a FROM MyTableA a JOIN MyTableB b on a.id = b.id WHERE a.id = :id
     """, MyTest.class)
.setParameter(“id”, id)
.getResultList(); ```

字符串

nvbavucw

nvbavucw1#

我认为你不需要在JQPL查询中指定实体类的全限定名。尽量使用简单的类名而不是全限定名。
请参阅软件包名称中的in关键字的类似问题:Spring JPA - "in" word in package name of Entity Class - Results in JPQL Error

相关问题