JPQL @Query - 无法准备语句异常
Posted
技术标签:
【中文标题】JPQL @Query - 无法准备语句异常【英文标题】:JPQL @Query - Could not prepare statement exception 【发布时间】:2021-11-07 13:59:35 【问题描述】:当我尝试执行这个 JPQL 时:
@Query("SELECT COUNT(v) FROM Vote v JOIN FETCH Restaurant WHERE v.restaurant.id=?1" )
Integer getVoteCountByRestaurantId(int id);
我有这个例外
nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement"
我试着改成
@Query("SELECT COUNT(v.id) FROM Vote v JOIN FETCH Restaurant WHERE v.restaurant.id=?1" )
但例外是一样的,我做错了什么?
【问题讨论】:
你在使用什么底层rdbms? @Mureinik H2 数据库 【参考方案1】:试试这个:
@Query("SELECT COUNT(v.id) FROM Vote v JOIN v.restaurant r WHERE r.id=?1" )
【讨论】:
Exception mow is: query specified join fetching, but the owner of the fetched association is not present in the select list ;( 你能用join
代替join fetch
吗?以上是关于JPQL @Query - 无法准备语句异常的主要内容,如果未能解决你的问题,请参考以下文章
无法准备陈述;嵌套异常是 org.hibernate.exception.JDBCConnectionException:无法准备语句
无法准备陈述;嵌套异常是 org.hibernate.exception.GenericJDBCException:无法准备语句