我在JPA repo函数的@query字段中有一个很长的sql原生查询。有没有一种干净的方法来编写查询,比如解析一个SQL文件并读取查询。
mfuanj7w1#
是的,您可以这样做。首先创建一个SQL文件与您的查询,并将该文件存储在资源文件夹。
src/main/resources/your_sqlfile.sql
在JpaRepository函数中,读取sql文件并使用classpath对象检索查询:下面的代码,你可以遵循:
import org.springframework.core.io.ClassPathResource; public List<YourEntity> findByCustomQuery() { Resource resource = new ClassPathResource("mycustomquery.sql"); String query = null; try { query = Files.readString(resource.getFile().toPath()); } catch (IOException e) { e.printStackTrace(); } }
4xrmg8kj2#
还可以使用命名查询并在Map文件中定义查询。
2条答案
按热度按时间mfuanj7w1#
是的,您可以这样做。首先创建一个SQL文件与您的查询,并将该文件存储在资源文件夹。
在JpaRepository函数中,读取sql文件并使用classpath对象检索查询:
下面的代码,你可以遵循:
4xrmg8kj2#
还可以使用命名查询并在Map文件中定义查询。