Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @列(unique=true)和uniqueConstraints都不起作用_Java_Hibernate - Fatal编程技术网

Java @列(unique=true)和uniqueConstraints都不起作用

Java @列(unique=true)和uniqueConstraints都不起作用,java,hibernate,Java,Hibernate,我正在使用Hibernate生成一个MySQL表,但是我在试图让它使用唯一约束时遇到了问题。我尝试了以下两种选择: 此注释是在类级别创建的 @Table(name = "users", uniqueConstraints = @UniqueConstraint(columnNames = {"nickname", "email"})) 这是关于变量的: @Column(nullable=false,name="nic

我正在使用Hibernate生成一个MySQL表,但是我在试图让它使用唯一约束时遇到了问题。我尝试了以下两种选择:

此注释是在类级别创建的

@Table(name = "users",
    uniqueConstraints = @UniqueConstraint(columnNames = {"nickname", "email"}))
这是关于变量的:

@Column(nullable=false,name="nickname",unique=true)
    private String nickname;
但两者似乎都不起作用。当我查看使用这两种方法创建的表的DDL时,它缺少任何约束,并且我的代码能够插入相同的记录任意多次,而不会出现错误或问题。我试着在这里查看其他答案,但所有这些似乎都以这两种方法中的一种有效结束,所以我认为我做错了什么,只是错过了它


如果您需要更多信息,请告诉我,并提前感谢您的帮助

为什么您在课堂上也有“电子邮件”呢?这只是因为我在玩它,因为电子邮件是我想拥有的另一个独特领域。但是如果我有两个或者只有一个也没有区别。仍然给出相同的结果hibernate使用数据更新现有表,完全没有数据,还是从头开始休眠表?hibernate从头开始创建表。我每次都手动删除该表,因为我已将其设置为仅在表不存在时创建该表。我正在使用MySQL Workbench,所以我只是在那里检查表并查看DDL。约束肯定不存在,因为我可以插入违反它的元素,例如,我多次插入了完全相同的记录。为什么在课堂上也有“电子邮件”呢?这只是因为我在玩弄它,因为电子邮件是我想拥有的另一个独特领域。但是如果我有两个或者只有一个也没有区别。仍然给出相同的结果hibernate使用数据更新现有表,完全没有数据,还是从头开始休眠表?hibernate从头开始创建表。我每次都手动删除该表,因为我已将其设置为仅在表不存在时创建该表。我正在使用MySQL Workbench,所以我只是在那里检查表并查看DDL。这些约束肯定不存在,因为我可以插入违反它的元素,也就是说,我已经多次插入了完全相同的记录