【问题标题】:Hibernate: Two Foreign key as idsHibernate:两个外键作为 id
【发布时间】:2020-06-17 22:30:17
【问题描述】:

我在我的三个实体类catalogBtableAtableAB 之间定义了多对一关系。 tableAB 有一个由tableA.tableAIdcatalogB.catalogBId 组成的主键组合,我使用了以下代码:

@Entity
@Table(name = "tableAB", schema = Constantes.SCHEMA_SOLICITUD,uniqueConstraints = {@UniqueConstraint(columnNames = { "tableAId  ", "catalogBId" }) })
public class TableAB implements Serializable {

    private static final long serialVersionUID = 6360131240770014903L;

    @Id
    @ManyToOne(optional = false)
    @JoinColumn(name = "tableAId", referencedColumnName = "tableAId")
    private TableAId tableAId;

    @Id
    @ManyToOne(optional = false)
    @JoinColumn(name = "catalogBId", referencedColumnName = "catalogBId")
    private CatalogBId catalogBId;

这给了我一个错误:

Caused by: java.lang.IllegalArgumentException: This class [schema.TableAB ] does not define an IdClass

【问题讨论】:

  • 这段代码在 SpringBoot 中,带有 javax.persistence

标签: java postgresql hibernate


【解决方案1】:

请参阅this question。接受的答案以及其他答案阐明了您要实现的目标。

【讨论】:

  • 这可以帮助我,但他不显示类“AssignedRoleId.class”
  • 然后参考this question。它提供了两种方法,EmbededIdIdClass
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 2013-03-06
  • 1970-01-01
  • 2021-08-16
  • 2012-06-29
  • 2020-08-20
  • 2019-11-20
相关资源
最近更新 更多