【问题标题】:JPA native query insert returning idJPA 本机查询插入返回 id
【发布时间】:2018-03-04 09:01:53
【问题描述】:

我使用下面的代码

EntityManager em.createNativeQuery("insert into users (name,surname) values (\"Test\",\"Test\") returning id").executeUpdate();

如果插入成功,executeUpdate 方法返回 1,但是如何使用上面的查询获取新用户的 id(我的数据库是 Postgres);

【问题讨论】:

  • 为什么要使用原生查询来处理这么简单的事情,而不是使用em.persist(user)
  • 这是一个例子,我有一个无法转换为 HQL 或其他东西的大型 postgres 查询

标签: java jpa persistence


【解决方案1】:

您可以使用getSingleResult() 代替executeUpdate 从Postgres 获取返回的id

参考here

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 2016-04-19
    • 2022-01-05
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多