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

在某些情况下,有没有办法使用Spring Data JPA投影来避免@secondarytable上的连接?

邢令
2023-03-14

我有一个JPA实体类,它使用@secondarytable关系来检索它的一些字段。有几个针对这个实体的查询只需要返回几个字段,都是从主表返回的。

我希望使用Spring Data JPA Projection接口,在我的存储库上进行查询,以便在不需要的时候自动避免连接到辅助表。在我的测试中,我还没有实现这一点,Hibernate生成的查询总是连接到辅助表,即使辅助表中的所有字段都不在投影上。是否支持这种行为,或者是否有更好的方法,例如使用@onetoone映射?

共有1个答案

杜俊逸
2023-03-14

我发现使用基于类的投影而不是接口投影避免了联接。我仍然不确定这是否是预期的行为,但它符合我的目的,所以我计划使用它。

 类似资料:
  • 好的,所以我有一个小问题,扫描器前进了一条额外的线。我有一个文件,其中有许多行包含整数,每行由一个空格分隔。文件中的某个地方有一行没有整数,只有单词“done”。当发现完成时,我们退出循环并打印出小于每行中每个给定整数的最大素数整数(如果整数已经是素数,则不对其进行任何处理)。我们一直这样做,直到“完成”为止。 我的问题:假设文件包含6行,第6行是完成这个词。我的输出将跳过第1、3和5行。它只会返

  • 所以我想要一个“Void Repository”,通过它可以访问不一定在实体上操作的存储过程。 但这当然不起作用,因为期望是一个实体。 有没有一种方法可以使用注释而无需创建虚拟实体,或者我是否坚持使用使用通过准备好的语句进行查询的已实现类? 因为老实说,这很难看:

  • 问题内容: 关于将行旋转为各种数据库的列,有很多文章。他们似乎分为两个阵营,使用案例语句或使用数据库供应商的内置功能。我正在使用 MySQL ,到目前为止,尚未在任何内置函数上找到任何东西,该函数使我可以选择任意数量的行值(希望将其转换为列)。如果我不提前知道这些值,则无法构建经常出现在stackoverflow上的CASE查询。我想知道MySQL中是否有类似于其他数据库中称为交叉表或数据透视表的

  • 问题内容: 我从Vaadin开始,我想知道在不使用maven的情况下在NetBeans中使用此框架是否可行。原因是使用maven的项目需要很长时间才能下载依赖项,并且由于超时连接问题而无法运行。 我已经下载了“多合一”文件,并尝试按照这些README.txt文件的说明进行操作: 将除vaadin-client和vaadin-client-compiler以外的所有vaadin- *文件复制到项目中

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?

  • 我再次编写另一个银行系统插件,但这次是使用ATM。我正在尝试弄清楚如何在单击该选项后获得玩家聊天输入,以防止单击100次以在银行帐户上存入50,000美元。 我正在用Paper-Spigot 1.14.4编写这个插件,我尝试了以下步骤: 作为一个单独的类,仅当我向插件管理器注册事件时才激活: 使用 get 和 set-method创建一个 变量 ,并在需要时在该方法中调用它。 我当前的方法: 获取