首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用注释的条件唯一约束

使用注释的条件唯一约束
EN

Stack Overflow用户
提问于 2016-09-07 10:25:11
回答 1查看 1.6K关注 0票数 3

我有两个具有两种不同类型(一般和自定义)的相关实体,并将其保存在同一个表中。类型通用的实体应该具有唯一的字段名值,并且自定义可以有不同用户的副本,而不是重复的通用名称。我正在寻找一种创建条件唯一约束的方法,以检查下一种情况:

  • 如果实体具有通用类型,则名称应该是唯一的。
  • 如果实体具有类型自定义,则可以在表中复制名称,但不能复制通用项,并且对特定用户(按用户id)应该是唯一的。

@Entity @Table( uniqueConstraints = @UniqueConstraint(columnNames ={“purposeId”}) GeneralPurpose公共类GeneralPurpose{ @Id @GeneratedValue(strategy=GenerationType.AUTO,generator="purpose_seq_gen") @SequenceGenerator(name="purpose_seq_gen",sequenceName="PURPOSE_SEQ") @列(name= "purposeId",nullable = false)私有long purposeId;@Column(name = "type",nullable = false) @(EnumType.STRING)@ CustomPurpose公共类GeneralPurpose { @ManyToOne() @JoinColumn(name="id") @JsonIgnore专用用户;公共枚举PurposeType { GENERAL,定制}

EN

回答 1

Stack Overflow用户

发布于 2016-09-07 13:11:44

您可以通过将另一列添加到目的性表中来完成此操作。此列用于存储常规记录的常量值,以及自定义记录的用户id。对于一般记录,值可以是0(如果用户id是数字的)或" GENERAL“(如果用户id是字符串)。它可以被命名为“userOfRecord”或“记录鉴别器”,类似这样。

然后,可以对类型、名称、userOfRecord添加唯一的约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39367341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档