Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 在SpringJPA中,我们如何为XML文件或像ibatis这样的bean.XML查询来源?_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

Spring boot 在SpringJPA中,我们如何为XML文件或像ibatis这样的bean.XML查询来源?

Spring boot 在SpringJPA中,我们如何为XML文件或像ibatis这样的bean.XML查询来源?,spring-boot,jpa,spring-data-jpa,Spring Boot,Jpa,Spring Data Jpa,我有一个用例,我希望我的应用程序更具属性驱动性和可配置性,这样数据库列名中的任何更改都不会影响相同的属性。 因此,在Spring JPA中,我们如何为XML文件或像ibatis这样的bean.XML查询源代码?JPA可以使用XML来进行映射,而不是注释 默认文件名为orm.xml,如果您将此文件添加到META-INF目录,Spring Data JPA将默认加载它 您还可以指定具有以下属性的文件: spring.jpa.orm=orm.xml xml具有与注释相同的功能 以下是一个例子: &l

我有一个用例,我希望我的应用程序更具属性驱动性和可配置性,这样数据库列名中的任何更改都不会影响相同的属性。
因此,在Spring JPA中,我们如何为XML文件或像ibatis这样的bean.XML查询源代码?

JPA可以使用XML来进行映射,而不是注释

默认文件名为
orm.xml
,如果您将此文件添加到META-INF目录,Spring Data JPA将默认加载它

您还可以指定具有以下属性的文件:

spring.jpa.orm=orm.xml
xml具有与注释相同的功能

以下是一个例子:

<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm
                                     http://xmlns.jcp.org/xml/ns/persistence/orm_2_0.xsd" version="2.1">

    <!-- JPA Named Native Queries -->
    <named-native-query name="Book.findAll" result-class="com.memorynotfound.hibernate.Book">
        <query>SELECT * FROM Book</query>
    </named-native-query>
    <named-native-query name="Book.findById" result-class="com.memorynotfound.hibernate.Book">
        <query>SELECT * FROM Book WHERE id = :id</query>
    </named-native-query>

    <!-- entity mapping -->
    <entity class="com.memorynotfound.hibernate.Book">
        <attributes>
            <basic name="title"/>
        </attributes>
    </entity>

</entity-mappings>

从书本中选择*
从书中选择*其中id=:id

JPA可以使用XML代替注释来进行映射

默认文件名为
orm.xml
,如果您将此文件添加到META-INF目录,Spring Data JPA将默认加载它

您还可以指定具有以下属性的文件:

spring.jpa.orm=orm.xml
xml具有与注释相同的功能

以下是一个例子:

<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm
                                     http://xmlns.jcp.org/xml/ns/persistence/orm_2_0.xsd" version="2.1">

    <!-- JPA Named Native Queries -->
    <named-native-query name="Book.findAll" result-class="com.memorynotfound.hibernate.Book">
        <query>SELECT * FROM Book</query>
    </named-native-query>
    <named-native-query name="Book.findById" result-class="com.memorynotfound.hibernate.Book">
        <query>SELECT * FROM Book WHERE id = :id</query>
    </named-native-query>

    <!-- entity mapping -->
    <entity class="com.memorynotfound.hibernate.Book">
        <attributes>
            <basic name="title"/>
        </attributes>
    </entity>

</entity-mappings>

从书本中选择*
从书中选择*其中id=:id