获取JPA本机插入查询的生成标识符

时间:2012-11-27 10:18:18

标签: java jpa orm persistence nativequery

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

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

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

1 个答案:

答案 0 :(得分:2)

这通常是特定于数据库的,如果你可以使用JDBC,你也可以使用JPA本机查询。您基本上需要执行(特定于DB的)额外查询以获取插入的ID。