【发布时间】:2017-11-01 11:48:38
【问题描述】:
我有一个包含数据列表的类 Api:
public class Api {
private String id;
@ManyToMany
private List<Data> datas;
}
我有一个 ApiRepository 扩展 crud 存储库,我在其中定义了一个查询:
@Query(value="select api from Api api where :data in (api.datas)")
public List<Api> getDatas(@Param("data") data)
执行查询时出现此错误:
org.springframework.dao.InvalidDataAccessResourceUsageException: 无法提取结果集; SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException:无法提取 ResultSet] 有根本原因
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你有一个 SQL 语法错误;检查与您对应的手册 MariaDB 服务器版本,用于在第 1 行的 '))' 附近使用正确的语法
【问题讨论】:
-
如果您使用的是 log4j,请启用以下属性,这将帮助您打印 SQL。所以你找到语法错误的地方。
log4j.logger.org.hibernate.SQL=DEBUG