java - Hibernate:两个外键作为 id
问题描述
我已经在我的三个实体catalogB
类tableA
和tableAB
. tableAB
具有 and 的主键组合tableA.tableAId
,catalogB.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
解决方案
参考这个问题。接受的答案以及其他答案阐明了您要实现的目标。