hibernate如何在自动递增或使用序列时获取新插入的记录主键? [关闭]

问题描述 投票:1回答:1

考虑我的数据库表主键是自动递增还是使用序列,hibernate如何在调用save()方法后立即获得新插入记录的主键。

只是想知道hibernate层和DB层之间的内部通信。

java hibernate jdbc
1个回答
0
投票

每个数据库供应商(MySQL,Oracle等)将有一个自定义的Dialect实现(例如MySQLDialectOracleDialect)所以你可能最好poke through that code

我在Oracle9Dialect.java看到以下内容

@Override
public String getSequenceNextValString(String sequenceName) {
    return "select " + getSelectSequenceNextValString( sequenceName ) + " from dual";
}
© www.soinside.com 2019 - 2024. All rights reserved.