[英]Unable to create unique key constraint not found
我有以下实体:
@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;
该列的名称是campaign_content_id
,而不是campaignContentId
。 当然,其他列也是如此。 columnNames
属性需要一个 ... 列名数组。 不是 Java 字段或属性名称的数组。
在我的情况下,此代码有效,一个物理表字段名称和一个实体对象成员字段名称。
@Table(uniqueConstraints={@UniqueConstraint(columnNames = {"account_id" , "measureDate"})})
但是这段代码在相同的例外情况下根本不起作用。
@Table(uniqueConstraints={@UniqueConstraint(columnNames = {"account_id" , "measure_date"})})
有人报告这个错误休眠。 检查这个。 https://forum.hibernate.org/viewtopic.php?f=9&t=986581&view=next
我用
我的问题由此解决了您的表定义必须如下所示 @Table(name = "campaign_content", uniqueConstraints = @UniqueConstraint(columnNames = { "campaign_content_id", "campaign_id", "field_tag" }))
对于在使用 Kotlin 时遇到此错误的任何人,我的问题是由在var
上使用@Column
而不是@get:Column
引起的。 哦!
如果任何用@Column(name="...") 注释的约束列,您还需要将@Columnt(name = "...") 添加到另一个约束列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.