【发布时间】:2018-01-09 04:44:51
【问题描述】:
谢谢你们,伙计们!我找到了解决方案:
@Repository
public interface BookRepository extends JpaRepository<Book, Integer>{
@Query(value = "select * from Book where find_in_set(:market,market)", nativeQuery = true)
public List<Book> findBooksByMarcket(@Param("market") String market);
}
原始问题
我正在使用 @Query 注释通过 JPA 查询语言创建查询,并将这些查询直接绑定到我的存储库接口的方法。
我的数据库已正确创建,并且我成功创建了一些查询,但此查询除外:
@Repository
public interface BookRepository extends JpaRepository<Book, Integer>{
@Query("select b from Book b where find_in_set(:market,b.market)")
public List<Book> findBooksByMarcket(@Param("market") String market);
}
当我通过 MySql 进行检查时,我可以使用 find_in_set 函数得到正确的结果。但是我无法在java中传递一个变量。我已经在互联网上搜索过,但找不到正确的格式。
请帮忙,谢谢你们!
【问题讨论】:
-
JPQL 中没有 find_in_set 这样的东西。 JPQL 和 SQL 是两种不同的语言。
-
顺便说一句为什么不能用like或=?有什么具体原因吗?
-
如果以下任何一个答案解决了您的问题,请将其标记为已接受。
标签: java mysql spring-data-jpa