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
Java SQL,可以在hibernate中不存在的表上插入_Java_Hibernate_Orm - Fatal编程技术网

Java SQL,可以在hibernate中不存在的表上插入

Java SQL,可以在hibernate中不存在的表上插入,java,hibernate,orm,Java,Hibernate,Orm,hibernate中的insert查询是否要求表存在。我的意思是当我有一个查询,在表中插入一些不存在的值。hibernate是否会给出异常,或者仅在更新完成时才会通过异常 我说的只是冬眠 在我看来,你能不能建议一张关于Hibernate的表格没有多大意义。数据库中是否存在表。如果不是,并且您在其上映射了一个实体,尝试persist此实体将在flush时间失败,此时Hibernate将执行SQL插入,您将得到一个HibernateeException包装JDBC异常 如果这不能回答问题,请澄清,我

hibernate中的insert查询是否要求表存在。我的意思是当我有一个查询,在表中插入一些不存在的值。hibernate是否会给出异常,或者仅在更新完成时才会通过异常

我说的只是冬眠

在我看来,你能不能建议一张关于Hibernate的表格没有多大意义。数据库中是否存在表。如果不是,并且您在其上映射了一个实体,尝试
persist
此实体将在
flush
时间失败,此时Hibernate将执行SQL插入,您将得到一个
HibernateeException
包装JDBC异常


如果这不能回答问题,请澄清,我不理解您所指的更新部分。

我想您是在问表是否丢失将休眠引发错误还是数据库引发错误


IIRC,我认为如果缺少表,Hibernate甚至不会初始化。当它遍历映射文件并尝试根据数据库中的数据类型预生成CRUD SQL语句时,您将收到一个错误。

从逻辑上讲,它应该在插入时引发异常。如果您希望Hibernate在初始化时根据映射验证架构,您必须使用
hibernate.hbm2ddl.auto=validate
要求它这样做。稍后我将对此进行检查,但我不明白为什么Hibernate会使用数据库元数据来生成CRUD语句(所需的信息在映射IMHO中)。无论如何,这个问题还是很不清楚。