当前位置: 首页 > 知识库问答 >
问题:

如何提取Spring数据JPA查询以分离文件

萧宏峻
2023-03-14

Spring数据JPA允许将jpql或sql查询提取到orm。xml,如Spring数据Jpa参考中所述。

在这种情况下,多个查询最终会出现在单个orm.xml文件中。在我们的场景中,这将导致巨大的orm.xml,因为我们有几个巨大的查询。

我想实现每个查询将存储在单独的文件中,例如UserRepositoryfindByLastname的查询将存储在META-INF/User/findByLastname.jpqlMETA-INF/User/findByLastname.sql如果它是本机查询。

在Spring数据JPA中是否可以实现这种逐文件查询提取?

PS:我知道查询可以使用注释直接存储在存储库中,但我们的维护团队希望将其提取出来。

谢谢你:-)

共有1个答案

何修能
2023-03-14

我认为在你的情况下,你可以使用多个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>
 类似资料:
  • 我有3个实体在我的数据库。实体A具有主密钥PK-A,实体B具有主密钥PK-B,实体C具有主密钥PK-C。 实体A与实体B具有1对多关系,实体B与实体C具有1对多关系 我想在Spring Data JPA中基于PK-A(实际上是实体B中的外键)查询实体C。有可能吗? 但这行不通。还有什么建议我可以试试吗?

  • 问题内容: 我正在使用Spring Data JPA,当我用来定义一个 WITHOUT 的查询时,它可以工作: 但是,如果我添加第二个参数,则将无法正常工作,Spring将解析该方法的名称,然后抛出 异常 。这是错误吗? 问题答案: 在Spring论坛上提出了一个类似的问题,指出要应用分页,必须派生第二个子查询。因为子查询引用的是相同的字段,所以您需要确保查询对引用的实体/表使用别名。这意味着您在

  • 我是反应式编程的新手。我必须开发一个简单的Spring启动应用程序来返回一个json响应,其中包含公司及其所有子公司和员工的详细信息 创建了一个Spring Boot应用程序(Spring Webflow Spring data r2dbc) 使用以下数据库表来表示公司和子公司以及员工关系(这是一种与公司和子公司的层次关系,其中一个公司可以有N个子公司,而这些子公司中的每个子公司可以有另N个子公司

  • 谁能告诉我@Query注释将支持数据库独立性查询机制 例子: 如果我写这个查询,它会支持所有的数据库,如Mysql、oracle、postgres。 我在spring data jpa参考文档站点中发现了类似的内容 这意味着如果我编写nativeQuery=true,它将被视为本机查询,如果不编写,它将表现为Spring data jpa特定查询,或者它将如何表现请澄清。

  • 我使用的是Spring Data JPA 1.7.1 这里有一个例子:

  • 我有3张桌子: 学校之间存在一对多的关系- 我正在编写查询以获取特定学校的学生: 虽然我没有在规范查询或代码中的任何地方获取主题(如使用)。 我仍然可以在生成的查询中的日志中看到主题最终被获取。 我如何更新我的查询以仅限于学校 请建议。