2

出于性能原因,我需要使用一些本机查询将新对象插入数据库。我有一个非常复杂的 JPA 持久层,它管理我通常的实体读取和写入,我想使用这个持久层来运行本机查询。

我知道我需要 EntityManager#createNativeQuery(String) 和 Query#executeUpdate 方法来实现我的目标。

我目前的问题是我还想获取新插入行的生成标识符。我知道使用 JDBC 或 SpringPersistence 可以做到这一点,但是有没有办法从 JPA 原生查询中获取这些标识符?

4

1 回答 1

2

大多数情况下,这是特定于数据库的,如果您可以使用 JDBC 来完成,那么您也可以使用 JPA 原生查询来完成。您基本上需要执行(特定于数据库的)额外查询来获取插入的 ID。

于 2012-11-27T10:24:01.310 回答