Java 为什么';唯一=真';在hibernate实体中不工作?
我创建了一个具有表名和列名的实体。 我还为列名添加了uniquekey约束。但当我运行时,它显示以下错误: org.hibernate.tool.schema.spi.CommandAcceptanceException:错误 执行DDL“alter table component add约束 UK_CO7RO6KYJHFIK027H0Y4D3N3独特(成分名称) java.sql.SQLSyntaxErrorException:指定的键太长;最大键 长度为1000字节Java 为什么';唯一=真';在hibernate实体中不工作?,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我创建了一个具有表名和列名的实体。 我还为列名添加了uniquekey约束。但当我运行时,它显示以下错误: org.hibernate.tool.schema.spi.CommandAcceptanceException:错误 执行DDL“alter table component add约束 UK_CO7RO6KYJHFIK027H0Y4D3N3独特(成分名称) java.sql.SQLSyntaxErrorException:指定的键太长;最大键 长度为1000字节 运行spring启动应用
我已经看过了其他的答案,但没有一个答案对我有帮助。你能删除吗
,unique = true
从@Column注释和try中,似乎有一个hibernate错误。当使用unique true时,它不遵守命名策略
有关更多信息,请查看此帖子
这个呢
删除unique=true后,我能够生成具有指定名称的unique约束,该名称为“uk\u component\u name”。因为它已在@Table注释中指定
您遇到的错误是因为hibernate正在生成一个唯一的约束名称,该名称已达到允许的限制,并且没有考虑您声明的约束名称。是否可以删除
,unique = true
从@Column注释和try中,似乎有一个hibernate错误。当使用unique true时,它不遵守命名策略
有关更多信息,请查看此帖子
这个呢
删除unique=true后,我能够生成具有指定名称的unique约束,该名称为“uk\u component\u name”。因为它已在@Table注释中指定
您遇到的错误是因为hibernate正在生成一个唯一的约束名称,该名称达到了允许的限制,并且没有考虑您声明的约束名称。我尝试在@column中添加length=20。
它运行完全正常,没有任何错误。我尝试在@column中添加length=20。
它工作完全正常,没有任何错误。可能重复的请在之前搜索-。只需限制IngreditName字段的长度。可能重复的我已经通过了其他答案,但这些解决方案都没有帮助我。他们为MySQL提供了我不需要的解决方案。我最终认为这是因为长度@Column中的属性。此解决方案不存在于您发送的任何问题中。可能重复的请在-,之前进行搜索。只需限制IngreditName字段的长度。可能重复的我已经查看了其他答案,但这些解决方案都没有帮助我。他们提供了我不需要的MySQL解决方案。我最终认为这是因为@Column中的length属性。您发送的任何问题都不存在此解决方案。谢谢,但这没有帮助。我已经尝试过这种方法,即删除unique=true。我得到了相同的错误。谢谢,但这没有帮助。我已经尝试过这种方法,即删除un是的。我也犯了同样的错误。
,unique = true