2016-11-14 1 views
2

Spring Data JPA позволяет извлечь jpql или sql запросами на orm.xml, как описано в Spring Data Jpa Reference.Как извлечь Spring Data JPA-запрос для отдельного файла

В таком случае несколько запросов будут в одном файле orm.xml. В нашем сценарии это привело бы к огромному orm.xml, поскольку у нас есть пара огромных запросов.

Я хотел бы добиться того, чтобы каждый запрос хранился в отдельном файле, например. запрос для UserRepositoryfindByLastname будет храниться в META-INF/User/findByLastname.jpql или META-INF/User/findByLastname.sql, если это родной запрос.

Можно ли добиться такого вывода данных на файл в Spring Data JPA?

PS: Я знаю, что запрос может быть сохранен непосредственно в Repository с использованием аннотации @Query, но наша команда обслуживания хочет их извлечь.

Спасибо :-)

+2

Ваши команды обслуживания безумны. – chrylis

+0

«orm.xml» абсолютно не связано с весной. Это JPA API. Не Spring JPA API. –

+1

@chrylis Спасибо за ваши отзывы. Я поговорил с командой технического обслуживания и убедил их не требовать извлечения запроса для каждого запроса. Аннотации запроса - это то, что я предпочитаю, поскольку все в одном месте, что делает репозитории более понятными и рефакторующими. –

ответ

2

Я думаю, в вашем случае вы можете использовать несколько файлов orm.xml с различными имен/мест:

<persistence-unit name="app-unit" transaction-type="JTA"> 
    ... 
    <mapping-file>mapping/orm-user.xml</mapping-file> 
    <mapping-file>mapping/orm-settings.xml</mapping-file> 
    <mapping-file>mapping/orm-data.xml</mapping-file> 
    ... 
</persistence-unit> 
Смежные вопросы