在我的Spring JPA项目中,我有一个这样的回购文件:
@Repository
public interface StudentRepository extends JpaRepository<Student, Integer>{
@Query(value = "select * from students", nativeQuery = true)
public List<Student> findStudents(
@Param("keyword") String keyword
);
}
这样,我仍然可以复制粘贴SQL并在我的数据库软件中运行。但是当涉及到大型查询时:
@Query(value = "SELECT\n" +
"*\n" +
"FROM\n" +
"students\n" +
"WHERE\n" +
"(\n" +
"`id` LIKE CONCAT('%', :keyword, '%') OR\n" +
"`name` LIKE CONCAT('%', :keyword, '%') OR\n" +
"`desc` LIKE CONCAT('%', :keyword, '%') OR\n" +
"`sex` LIKE CONCAT('%', :keyword, '%')\n" +
")", nativeQuery = true)
public List<Student> findStudents(
@Param("keyword") String keyword
);
我无法真正直接复制粘贴并在DB软件中运行,我必须删除“ +”“ \ n”字符。我已经尝试过Java的““”“ SQL_QUERY_STRING”“”,但它不允许这样做。
是否有其他替代方法?
UPDATE