【发布时间】:2014-10-20 00:20:03
【问题描述】:
我遇到了 Hibernate 作为 JPA 提供程序处理复合主键的问题。 我的实体如下所示
// Entity class
@Entity
@IdClass(ExternalMatchPK.class)
@Table(name = "external_match")
public class ExternalMatch {
@Id
@Column(name = "place_id")
private Integer placeId;
@Id
@Column(name = "external_object_id")
private Integer externalObjectId;
// ... Other stuff here
}
// Key class
public class ExternalMatchPK implements Serializable {
private Integer placeId;
private Integer externalObjectId;
}
看起来很简单,但无论我做什么,我都会不断收到以下异常(为了便于阅读,行被拆分):
org.hibernate.MappingException:
Repeated column in mapping for entity: ExternalMatch
column: external_object_id (should be mapped with insert="false" update="false")
我尝试将注释放在实体类字段和关键类字段上,也可以单独放置,将所有注释从字段移动到每个类上的 getter,使用关键类作为 @Embeddable 并将其放入实体中与@EmbeddedId 一起上课。似乎没有任何效果。
这个案例看起来很简单,所以可能是我们的设置有问题,但我什至无法想象到哪里寻找问题。
非常感谢任何建议。
【问题讨论】:
标签: java hibernate jpa primary-key composite-primary-key