为什么从 spring-data-jpa 保存返回的实体中未设置 ID

2024-01-06

我有一个简单的实体。我正在使用 spring-data-jpa 版本 1.2.0.RELEASE 和 eclipselink 2.4.1。

@Entity
@Table(name="platform")
public class Platform {

    @Id
    @Column(name="id", nullable=false, updatable=false, insertable=true)
    private Long id;
    // etc.
}

我想保存它。我的存储库看起来像

public interface PlatformRepository extends JpaRepository<Platform, Long> {

    Platform findByName( String name );
}

我的控制器用这个方法非常简单

@RequestMapping(method=RequestMethod.POST, produces="application/json")
public Platform post( Platform platform ) {
    Platform result = platformDao.saveAndFlush(platform);
    return result;
}

该方法的响应是

{"platform":{"id":null,"name":"Test1"}}

Select * from platform 显示Test1的ID为6。该表定义为:

create table platform(
id int not null auto_increment primary key,
name varchar(128) not null);

我希望在保存后设置 ID,但事实并非如此。他们不希望我在编写实体后立即进行查找,对吗?


您尚未指定 ID 是由映射中的数据库自动生成的。添加

@GeneratedValue(strategy = GenerationType.IDENTITY)

到您的 ID 字段。如果没有它,JPA 不知道它必须在插入后执行 select 语句才能从数据库获取生成的 ID。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么从 spring-data-jpa 保存返回的实体中未设置 ID 的相关文章

随机推荐

  • Go 中的递归锁定

    Go s sync包有一个Mutex 不幸的是它不是递归的 在 Go 中实现递归锁的最佳方法是什么 很抱歉没有直接回答你的问题 恕我直言 在 Go 中实现递归锁的最佳方法是不实现它们 而是重新设计代码 使其一开始就不需要它们 我认为 对它们
  • urllib3 最大重试错误

    我刚刚开始使用 urllib3 马上就遇到了问题 根据他们的手册 我从一个简单的例子开始 Python 2 7 1 r271 86832 Apr 11 2011 18 13 53 GCC 4 5 2 on linux2 Type help
  • 如何使用 TabItem 名称参数调用 XAML 中的绑定方法?

    我有一个在 XAML 中绑定的对象实例 它有一个方法 将返回给我其他对象的列表 根据我传递给此方法的属性值 它将返回具有该属性值的所有对象
  • 限制对 NodeJS 中 API 的并发请求以及 Async/Await

    我在用Request https www npmjs com package request打包在我的 Nodejs 项目中异步 等待中引入的函数节点 V 8 x要使用第 3 方 API 一切都很好 直到我遇到 API 提供商的限制 who
  • 如何获取列表中所有 NaN 的所有索引?

    我正在尝试制作一个包含所有索引的列表NaNs在列表中a 问题是这个列表ind没有填充任何东西 它有效 如果不是NaN 我放了一个随机字符串 例如c import numpy as np a 1 2 3 4 np nan np nan 2 n
  • 在运行时启用和禁用 gprof?

    我想知道里面有没有APIgprof通过受监控的应用程序在运行时启用和禁用分析 我有兴趣禁用对代码某些部分的分析 并使其能够专注于我感兴趣的部分 我的意思是 有没有办法避免这样做 int main void disable gprof uni
  • 从图像中删除颜色

    我想从下图中删除颜色 由于这种颜色 我无法从图像中清晰地提取文本 我正在使用下面的代码 但我没有得到明确的文本 import numpy as np from PIL import Image im Image open my file t
  • 如何在Linux中用户登录认证后运行脚本

    我有一个脚本 我想在用户登录身份验证后运行 为了实现这一点 我将脚本名称添加到 etc rc5 d S rc local文件 但后来我知道 rc local 文件中添加的任何内容都会在系统启动时执行 而不是在登录身份验证之后执行 谁能告诉我
  • 错误:没有名为“PyQt5.QtMultimedia”的模块

    我正在尝试构建一个集成视频的 GUI 为此我需要导入 PyQt5 QtMultimedia 然而 当尝试导入模块 导入 PyQt5 QtMultimedia 时 我收到错误 ModuleNotFoundError 没有名为 PyQt5 Qt
  • 使用 node.js 运行 shell 脚本(childProcess)

    我想在我的 node js 服务器上运行 shell 脚本 但什么也没发生 childProcess exec play sh media external req params movie function not working 另一个
  • 查找给定查询的 firestore 文档的索引

    我正在使用 Firestore 构建游戏 我想显示高分列表 我目前通过以下查询获得了 10 个最高分 const q query doc db scores title orderBy score desc limit 10 除此之外 我想
  • 如何在Excel中使用单选按钮创建过滤搜索框[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想创建一个搜索文本框来过滤 Excel 中的数据 我有 3 列数据 汽车品牌 型号和颜色是列 我有单选按钮 选择该按钮后我希望搜
  • 将秘密(密码)存储在单独的文件中

    存储 Python 脚本的应用程序机密 密码 访问令牌 的最简单方法是什么 我以为这会是一个 yml文件就像在 Ruby 中一样 但令人惊讶的是我发现事实并非如此 那么到底是什么呢 最简单的解决方案是什么 我想把它们放在一个separate
  • 在 macOS 上通过 psql 创建 PostgreSQL 数据库备份

    我正在尝试创建一个 PostgreSQLlocal使用 macOS 上的终端进行数据库转储psql 我的下一步是将整个数据库上传 导入到我的 Amazon RDS PostgreSQL 数据库实例 https docs aws amazon
  • 将 Hudson 作业移至另一台服务器

    我已经设置了一个持续集成构建 Hudson 在 Tomcat 上运行 我现在需要将其移动到 Tomcat 的另一个实例 但不想从头开始配置所有内容 是否有一个配置文件定义了我可以复制到新服务器的每个作业 或者可以通过用户界面导入 导出作业
  • 使用变量的“原型”

    大多数时候 主要是教程 我看到 原型 用于方法 我很确定它也可以用于变量 也许对于设置 默认值 最有用 它不经常用于函数有什么原因吗 这是不好的做法 还是存在明显的性能差异 在我的脑海中 你失去了功能hasOwnProperty http
  • Networkx read_gml 错误“networkx.exception.NetworkXError:无法在 (3, 1) 处标记 u'graph'”

    我正在尝试使用 networkx 读取 gml 文件 非常简单 对吧 除非每当我尝试读取文件时 我都会收到错误 networkx exception NetworkXError 无法标记 u graph at 3 1 我对gml或netwo
  • 转换为位图时,CardView 阴影未渲染

    问题 我尝试保存一个视图组 其中有一个CardView作为其子级之一 作为 PNG 文件 为了达成这个 我膨胀视图组并使用所需信息填充视图 通过以下方式将图像加载到图像视图Glide https github com bumptech gl
  • 在 SpriteKit 中呈现一个场景而不丢弃之前的场景?

    我的情况是我有一个GameMenuScene在用户选择级别后 我想呈现LevelScene 但我不想再有以前的了GameMenuScene被丢弃是因为LevelScene实际上是一个 property of GameMenuScene用户是
  • 为什么从 spring-data-jpa 保存返回的实体中未设置 ID

    我有一个简单的实体 我正在使用 spring data jpa 版本 1 2 0 RELEASE 和 eclipselink 2 4 1 Entity Table name platform public class Platform Id