Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Hibernate尝试(重新)创建现有表,但不更新表_Hibernate - Fatal编程技术网

Hibernate尝试(重新)创建现有表,但不更新表

Hibernate尝试(重新)创建现有表,但不更新表,hibernate,Hibernate,我使用的是Hibernate 5.4.31,问题是,即使Hibernate.hbm2ddl.auto值设置为update,Hibernate也总是尝试重新创建现有的表和外键。另一方面,对实体的任何更新都不会反映在表结构中。我认为这是因为在每次启动时都试图重新创建表 创建时,没有一个按预期工作 弗洛里安经过反复尝试,我找到了这种行为的原因: 无论出于何种原因,我在hibernate.cfg.xml文件中有以下配置: <property name="hibernate.temp.us

我使用的是Hibernate 5.4.31,问题是,即使Hibernate.hbm2ddl.auto值设置为update,Hibernate也总是尝试重新创建现有的表和外键。另一方面,对实体的任何更新都不会反映在表结构中。我认为这是因为在每次启动时都试图重新创建表

创建时,没有一个按预期工作


弗洛里安

经过反复尝试,我找到了这种行为的原因:

无论出于何种原因,我在hibernate.cfg.xml文件中有以下配置:

<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
false
我不知道为什么有人会在配置中添加这种代码和平(这是一个现有的项目)。在hibernate文档中,我找到了以下定义:

“此设置用于控制当数据库可能不可用时(主要是在工具使用中),我们是否应查阅JDBC元数据以确定某些设置默认值。”

我不知道为什么我们需要这个配置,所以我删除了它,瞧,Hibernate没有在每次启动时尝试重新创建现有的表

希望有人能帮上忙

弗洛里安