Java 休眠保存SQL异常
大家好,我正试图通过Hibernate将一个对象保存到MySQL数据库。如果我执行以下代码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
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、 执行更新;它也很好用。