0

执行插入后是否可以检索 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

请帮我

4

1 回答 1

0

不幸的是,通过使用 SQL 查询而不是 HQL,您绕过了 Hibernate 的许多与数据库无关的优势。如果您绝对不能使用 HQL,则必须实现自己的数据库特定实现。为此,您首先需要从 Hibernate 获取 JDBC 驱动程序类:

如何从实体管理器获取数据库元数据

拥有驱动程序类后,您可以基于该类执行特定于数据库的查询。由于您无法修改驱动程序类以实现具有特定 get autoinc 查询的接口,因此我在以下链接中推荐 Nico 的建议:

切换实例?

在驱动程序类上实现 switch 语句后,您可以选择是否实现 MYSQL、MSSQL 或其他 autoinc 查询。

于 2013-10-18T13:43:14.170 回答