Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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
如何在执行SQLQuery.executeUpdate()insert语句后获得自动增量_Sql_Hibernate_Auto Increment - Fatal编程技术网

如何在执行SQLQuery.executeUpdate()insert语句后获得自动增量

如何在执行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

执行插入后是否可以检索autoinc字段:

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查询。

看看如果我不知道数据库将是什么,该怎么办