繁体   English   中英

休眠列唯一属性不变

[英]hibernate column unique property not changing

有没有办法在不删除表的情况下将column属性从unique=true更改为unique=false

现在,我陷入了表被较早创建并且这些表也包含数据的情况。 当我将unique=true更改为unique=false它不会在表中进行任何更改。

您可以在数据库中轻松地执行此操作。 假设我有一个具有Person_name约束的表Person。

ALTER TABLE Person
DROP INDEX Person_name;

or

ALTER TABLE Persons
DROP CONSTRAINT Person_name;

如果您尝试使用hibernate实现相同的功能,则hibernate将尝试删除并再次创建表,这是您不希望发生的。

嗯...我不知道您是否可以允许自己删除数据库,但可以尝试在应用程序属性文件中使用:

spring.jpa.hibernate.ddl-auto=update

要么

spring.jpa.hibernate.ddl-auto=create-drop

有关更多信息:
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html

另外,如果您知道数据库架构会有很多更改,并且希望使其易于使用,则应该熟悉https://www.liquibase.org/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM