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

JPA:如何从多个表的列中合成一个实体(而不是将一个实体保存到多个表中)

施利
2023-03-14
@Entity
@Table(name="TableA")
public class TableA {
     @Id
     @Column(name="id")
     long id;

     @Column(name="tableB_id")
     long tbId;

     @Column(name="column1", table="TableB")
     String tbColumn1; 
}

@Entity
@Table(name="TableB")
public class TableB {
     @Id
     @Column(name="id")
     long id;

     @Column(name="column1")
     String column1; 
}

共有1个答案

艾宁
2023-03-14

如果您希望在一个对象中对列进行分组,仅用于读取数据,我建议您使用两种方法:

  1. 创建数据库视图并将其映射为实体。
  2. 使用结果类构造函数表达式,将基于结果查询返回实例化和填充所提供类的对象。

来自ObjectDB的结果类构造函数表达式:

 类似资料:
  • 首先,我已经阅读了Hibernate——一个包含多个实体的表?。 然而,我希望将两个实体映射到同一个表,但我希望它们都是实体,我可以从中选择。我的意思是: 一个表:人(id、姓名、出生日期、城市、街道、邮政编码)。 两个实体:人(id、name、dateOfBirth)、地址(id、城市、街道、邮政编码)。 实体之间是1:1的关系,但数据库中仍然是1个表。 如果我在上面的链接中使用建议的解决方案(

  • 我想知道是否可以创建一个从多个表中获取数据的实体。 我有一个基于TableA的实体。 特殊性是,我还需要TableD的数据,它链接到TableC,它链接到TableB最后链接到TableA,带有TableA id 我完全知道我可以在表B、C、D上创建一个实体。但我不需要这些表上的任何数据,除了TableD。B和C只是“一条要走的路”。 http://img11.hostingpics.net/pi

  • 我知道这是没有意义的,因为许多教程声明您可以使用SecondaryTable注释,但是它在Hibernate中不起作用。我有这样的模式: 有人知道如何克服这个问题吗?谢谢你。

  • 我正在尝试使用spring-jpa将三个实体(表)连接到一个使用多对多关系的表中。 三个类别是: 1]用户 有没有人可以帮助我使用多对多关系来连接这三个表,并让我知道如何使用spring-jpa和REST来实现这一点?另外,如果您能解释一下如何使用rest/curl命令在这个“user_resource_privilege”表中插入数据,那就太好了?

  • 我在实体类中设置一些hibernate注释时遇到问题。 我的问题是:我如何告诉Hibernate,它应该在一个表中存储地址、名称和客户信息。此表应包含以下列:ID、给定、姓氏、街道、门牌号、邮政编码、城市、电话、评论。目前,Hibernate在mysql数据库中为每个实体生成一个表。因此,有必要在每个实体类(客户、名称、地址)中定义@Id。但我想用一个@Id为客户保留一张表中的所有信息。 我怎样才

  • 所以我在使用DerbyDB,并建立了一些实体。我有一个,它被用作某些实体的超类()。更具体地说,我有一个超类和3个子类,即、和。现在我有了一个不同的实体,比如说,它应该引用(作为其字段之一)它的所有者。所以我创建了一个名为的字段。我得到的错误是: 有变通办法吗?