Spring Data JPA允许将jpql
或sql
个查询提取到orm.xml
,如Spring Data Jpa Reference中所述。
在这种情况下,多个查询最终会出现在单个orm.xml
文件中。在我们的场景中,这将导致巨大的orm.xml
,因为我们有几个巨大的查询。
我希望实现每个查询都存储在单独的文件中,例如UserRepository
findByLastname
的查询将存储在META-INF/User/findByLastname.jpql
或META-INF/User/findByLastname.sql
中(如果是原生查询)。
是否可以在Spring Data JPA中实现这样的每个文件的查询提取?
PS:我知道查询可以使用Repository
注释直接存储在@Query
中,但我们的维护团队希望将其提取出来。
谢谢: - )
答案 0 :(得分: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>