代码之家  ›  专栏  ›  技术社区  ›  William

Hibernate-唯一列约束被忽略

  •  6
  • William  · 技术社区  · 14 年前

    我有一个MySQL表来保存标记(比如这里在堆栈溢出时使用的那些)。它只有一个id(pk)和一个标记列来保存标记本身。

    我的标记实体的带注释的get方法如下所示。

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public int getId() {
        return this.id;
    }
    
    @Column(name = "tag", unique = true, nullable = false)
    public String getTag() {
        return this.tag;
    }
    

    我是不是漏掉了什么东西,还是应该这样做?

    2 回复  |  直到 14 年前
        1
  •  3
  •   musiKk    14 年前

    来自JavaDoc of UniqueConstraint ( unique=true @Colunm

    此注释用于指定在为主表或辅助表生成的DDL中包含唯一约束。

    因此,它似乎没有强制插入的唯一性。在任何情况下都应在数据库中创建唯一约束。

        2
  •  0
  •   Damian Leszczyński - Vash    14 年前

    你错过了这只是一个信息。

    还应在数据库中的列上添加约束。