我的Spring JPA查询不适用于H2



下面的这个查询不起作用,它给我生成了一个异常

@Query(value = "SELECT * FROM account WHERE account_no = ?1",
nativeQuery = true)
Account findByAccountNo(String accountNo);
"message": "could not prepare statement; SQL [SELECT * FROM account WHERE account_no = ?]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement",

当我使用MySQL数据库时,查询运行良好。但现在我正在使用H2数据库,它突然不起作用了。为什么?我该如何解决这个问题?

最好使用JPA。

如果你仍然想使用nativeQuery,可以这样使用:

@Query(value = "SELECT * FROM account WHERE account_no = :account_no",
nativeQuery = true)
Account findByAccountNo(@Param("account_no") String accountNo);

我猜在这里,但参数语法"?1〃;可能对H2无效。

这里不需要使用本机查询,如果您使用Jpa语法,它应该可以工作。

此外,您根本不需要在这里指定查询——Spring Jpa应该为您生成查询。

相关内容

  • 没有找到相关文章

最新更新