Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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异常_Java_Mysql_Sql_Hibernate - Fatal编程技术网

Java 休眠保存SQL异常

Java 休眠保存SQL异常,java,mysql,sql,hibernate,Java,Mysql,Sql,Hibernate,大家好,我正试图通过Hibernate将一个对象保存到MySQL数据库。如果我执行以下代码 User user = new User(); user.setData_1("my data 5"); user.setFirstname("Freddy"); user.setLastname("Bob"); user.setId(5); session.save(user); session.getTransaction().commit

大家好,我正试图通过Hibernate将一个对象保存到MySQL数据库。如果我执行以下代码

 User user = new User();
     user.setData_1("my data 5");
     user.setFirstname("Freddy");
     user.setLastname("Bob");
     user.setId(5);
     session.save(user);
     session.getTransaction().commit();
我得到一份工作

'com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表'xxx.my_Table_1'不存在'

例外。但是,使用相同的配置从同一个表进行查询就可以了


可能是什么问题?

检查配置中的连接字符串,例如hibernate.connection.url=jdbc:postgresql://localhost/mydatabase urlmydatabase中可能缺少架构名称

因此,经过一些尝试和错误之后,我发现.get和.save的问题也在于我没有在config中设置hibernate.default_模式。看起来它是用来为.save和.get创建“动态”SQL的,但是如果使用.createSQLQuery,它只使用您传递的字符串作为SQL参数,因此不需要设置hibernate.default_架构。

如果您的连接告诉您表不存在,很明显,它能够访问您的服务器,而服务器的响应是它没有这个名称的表。当你说你是从同一个表中查询时,你是什么意思?我的意思是我可以发送一个查询,从中调用.list,然后它返回一个对象列表。另外,如果我执行与query q=session.createSQLQueryINSERT相同的查询,那么我的_表中的值为'DATA 5','Freddy',Bob',5;q、 执行更新;它也很好用。