如何在执行SQLQuery.executeUpdate()insert语句后获得自动增量
执行插入后是否可以检索autoinc字段:如何在执行SQLQuery.executeUpdate()insert语句后获得自动增量,sql,hibernate,auto-increment,Sql,Hibernate,Auto Increment,执行插入后是否可以检索autoinc字段: String queryString = "insert into " + String.format("table%04d", id) + "(sectionid, topicid, dc) values (" + entry.getSectionId() + ", " + entry.getTopicId() + ", " + entry.getDc() + ")"; SQLQuery que
String queryString = "insert into " + String.format("table%04d", id) +
"(sectionid, topicid, dc) values (" + entry.getSectionId() +
", " + entry.getTopicId() + ", " + entry.getDc() + ")";
SQLQuery query = session.createSQLQuery(queryString);
query.executeUpdate();
该表有四个字段
eid - autoinc
sectionid - int
topicid - int
dc - int
请帮助我不幸的是,您使用SQL查询而不是HQL,从而绕过了Hibernate数据库不可知的许多好处。如果绝对不能使用HQL,则必须实现自己的数据库特定实现。为此,首先需要从Hibernate获取JDBC驱动程序类: 一旦拥有了驱动程序类,就可以基于该类执行特定于数据库的查询。由于您无法修改驱动程序类来实现具有特定get autoinc查询的接口,因此我建议您在以下链接中使用Nico的建议:
一旦在驱动程序类上实现了switch语句,就可以选择是实现MYSQL、MSSQL还是其他autoinc查询。看看如果我不知道数据库将是什么,该怎么办