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

如何使用Spring JPA/Hibernate实现与临时表的联接

戚飞
2023-03-14

下面是我的场景,我有3个实体/表,比如说,mainentitya,entityb。它们的性质和关系如下所示。

主实体[entityID、entityName、entityType]

可以有人请帮助与等价的Hibernate代码以上SQL使用标准构建器。

共有1个答案

齐甫
2023-03-14

HQL与SQL非常相似。一个很大的区别是它不支持from子句中的子查询,但大多数时候您不需要它。您的查询可以重写为以下内容:

SELECT mainEntity 
FROM MainEntity AS mainEnity 
JOIN EntityA AS A ON mainEnity.entityID = A.enityID AND mainEnity.entityName = A.entityName
JOIN EntityB AS B ON mainEnity .typeId = B.typeId
 类似资料:
  • 我在Oracle SQL Developer中创建了三个表,即 。表是连接表,因为和之间的关系是。 在hibernate中,我为和表创建了两个hibernate类和, 和表在hibernate类中定义如下: 我用一些记录填充了表和,连接表自动填充了一些记录。现在我目前面临的问题是,我想使用hiberante在连接表上使用一个简单的选择语句,如下所示: 我怎么能做到这一点,尽管联接表'Employe

  • 我在删除联接表中引用的实体时遇到问题。以下是三个链接的enitie。 当我尝试使用CrudRepository从来宾表中删除来宾时,它会给我这个错误。 错误:表“guest”上的更新或删除违反了表“guest\u group\u join”上的外键约束“FKKOUGVMCU860MOUACR1SHJXY”。键(id)=(4)仍然从表“guest\u group\u join”中引用。 有人能帮忙吗

  • 问题内容: 我有两个表和相关的Java映射。 这是我的Java实体。国家POJO: 和用户POJO: 问题是,我怎么能加入到在Hibernate中使用注释?当我使用Hibernate创建User对象时,我需要自动绑定这两个字段(代码和countryCode)。 问题答案: 您需要从映射到实体,并从映射到:

  • 问题内容: 数百万条记录的哪个更快:永久表 还是 临时表? 我只需要将其用于1500万条记录。处理完成后,我们将删除这些记录。 问题答案: 在您的情况下,我们使用称为临时表的永久表。这是大量进口的常用方法。实际上,我们通常使用两个登台表,一个带有原始数据,另一个带有清理后的数据,这使得研究提要中的问题变得更加容易(它们几乎总是我们客户发现向我们发送垃圾数​​据的新方式和多种方式的结果,但是我们必须

  • 我试图写这个来获取列表,我必须将ID列表作为参数传递: 我的实体是我用来查询的实体是: 但我在运行后遇到了以下异常: 有人能帮我用上面的方法获取列表吗?或者能告诉我我在这方面做错了什么。我不想使用本机,即(nativeQuery=true)使用这个。

  • 问题内容: 我使用Hibernate Envers审核我的实体。 我有一个审核的实体,它具有as属性。但是,我不想审核实体。因此,我写道: 现在,我要检索的修订: 不幸的是,当我想检索所有数据时(即,当它延迟加载时),我得到了error ,因为它试图查询: 我虽然使用,但Hibernate Envers会保持与 当前 实体项目的链接。 __ 那么如何解决我的问题,而不必显式审核表和(联接表)?在别

  • 假设我有一个名为的表,其字段为,和和,其字段为和。和表与列之间存在外键关系。 如果我在类中执行多对一注释映射,如何确保Hibernate使用LEFT OUTER JOIN加入关联实体?

  • 问题内容: 我是Hibernate和Criteria Query的新手。所以我在HQL中实现了查询: 如何使用hibernate条件对象实现它? 问题答案: 您的示例只是本机SQL,而不是HQL。无论如何,您可以使用Criteria API中的以下方法来构造所需的Criteria对象: 使用setProjection(Projection projection)定义select子句 使用creat