我有以下实体:
@Entity
@Table(name = "campaign_content", uniqueConstraints = @UniqueConstraint(columnNames = { "campaignContentId", "campaignId", "fieldTag" }))
public class CampaignContent implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "campaign_content_id")
private Integer campaignContentId;
@Column(name = "field_content")
private String fieldContent;
@Column(name = "campaign_id")
private Integer campaignId;
@Column(name = "field_tag")
private String fieldTag;
有 getter 和 setter。
但是我得到:
caused by: org.hibernate.AnnotationException: Unable to create unique key constraint (campaignContentId, campaignId, fieldTag) on table campaign_content: campaignContentId, campaignId, fieldTag not found
怎么了?
最佳答案
列的名称是 campaign_content_id
,而不是 campaignContentId
。当然,其他列也一样。 columnNames
属性需要一个列名数组。不是 Java 字段或属性名称的数组。
关于java - 无法创建未找到的唯一键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041657/