经过多次尝试,终于找到了解决办法。
1)在项目的资源文件夹中创建XML文件(任意命名),例如将testSQL.xml放置在resources/query文件夹下。
2)遵循'testSQL.xml'中的'orm.xml'标准,复制并粘贴头部,并创建以下标签:
<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<named-native-query>
</named-native-query>
</entity-mapping>
3) 在这个XML文件中创建名为"named-native-query"的标签。
<named-native-query name="XyzEntity.methodName">
<query>
<! [CDATA[
Your native query
] ] >
</query>
</named-native-query>
注意 - > 可以添加多个此类本地命名查询标签,所有这些标签都必须位于两个
标签之间。
<entity-mapping> </entity-mapping>
4) 在上一步的名称标签中提到的“XyzEntity”,应该有一个Jpa存储库,在那个存储库中,我们应该有与标签相同名称的方法。即:
public interface XyzRepo extends JpaRepository <XyzEntity, Long> {
Tuple methodName() ;
5)按如下方式将testSQL.xml添加到应用程序属性文件中
spring.jpa.mapping-resources = query/testSQL.xml
如果您想以正常的spring方式调用此方法,则可以这样做。
如果有人卡在了这个问题上并需要详细的解决方案,请告知我。