我正在使用Hibernate 5.4.31,并且有一个问题,即使hibernate.hbm2ddl.auto值被设置为更新,hibernate总是尝试重新创建现有的表和外键。另一方面,对实体的任何更新都不会反映在表结构中。我认为这是因为在每次启动时都尝试重新创建表。
Create,None正在按预期工作。
弗洛里安
发布于 2021-05-23 02:01:37
经过多次尝试和错误,我找到了这种行为的原因:
无论出于什么原因,我的hibernate.cfg.xml文件中都有以下配置:
<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>我不知道为什么有人会将这种轻松的代码添加到配置中(这是一个现有的项目)。查看hibernate文档,我发现了这个定义:
“此设置用于控制当数据库可能不可用(主要是在工具使用中)时,我们是否应参考JDBC元数据以确定某些设置的默认值。”
我不知道为什么我们需要这个配置,因此我删除了它,看吧,Hibernate不会在每次启动时尝试重新创建现有的表。
希望有人能帮上忙。
弗洛里安
https://stackoverflow.com/questions/67652687
复制相似问题