В Spring JPA, как мы можем получить наши запросы для файла XML или bean.xml, например, ibatis? - PullRequest
0 голосов
/ 12 июня 2019

У меня есть вариант использования, когда я хочу, чтобы мое приложение было более управляемым и настраиваемым, чтобы любое изменение имени столбца базы данных не влияло на это.Следовательно, в Spring JPA, как мы можем получить наши запросы для файла XML или bean.xml, например, ibatis?

1 Ответ

2 голосов
/ 12 июня 2019

Вместо аннотаций JPA может использовать XML для отображения.

Имя файла по умолчанию - orm.xml, и если вы добавите этот файл в каталог META-INF, Spring Data JPA загрузит его по умолчанию.

Вы также можете указать файл со свойством:

spring.jpa.orm=orm.xml

Файл orm.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>

Узнайте больше о сопоставлении XML в официальной документации Hibernate:

https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#bootstrap-jpa-xml-files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...