出于性能原因,我需要使用一些 native 查询将新对象插入数据库。我有一个非常复杂的 JPA 持久层,它管理我通常的实体读写,我想使用这个持久层来运行 native 查询。
我知道我需要 EntityManager#createNativeQuery(String) 和 Query#executeUpdate 方法来实现我的目标。
我当前的问题是我还想获取新插入行的生成标识符。我知道使用 JDBC 或 SpringPersistence 是可能的,但是有什么方法可以从 JPA native 查询中获取这些标识符吗?
最佳答案
大多数情况下,这是特定于数据库的,如果您可以使用 JDBC 来完成此操作,您也可以使用 JPA native 查询来完成此操作。您基本上需要执行(特定于数据库的)额外查询来获取插入的 ID。
关于java - 获取 JPA native 插入查询生成的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581990/