【问题标题】:Getting generated identifier for JPA native insert query获取 JPA 本机插入查询的生成标识符
【发布时间】:2012-11-14 22:35:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: java jpa orm persistence nativequery


    【解决方案1】:

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

    【讨论】:

    • 例如我有插入查询并在方法中选择最后插入的 id。他们会在同一个事务中执行这些查询吗?请告诉我。
    猜你喜欢
    • 2015-08-10
    • 2022-01-05
    • 1970-01-01
    • 2012-12-30
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    相关资源
    最近更新 更多