java - 保存后休眠未设置自动生成的ID
问题描述
我正在使用休眠模板保存方法来插入行。插入后,hibernate 不会在对象中设置自动生成的 ID 列。
在下面的代码中 userId 设置为 0
TDUserMaster userMaster = new TDUserMaster();
userMaster.setUserName(userName);
Serializable id = getHibernateTemplate().save(userMaster);
userId = userMaster.getUserId();
POJO类:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "USERID")
private Integer userId;
@Column(name = "USERNAME")
private String userName;
解决方案
您可以使用以下行并检查。在我的情况下,它将作为它的工作。
@GeneratedValue(strategy = GenerationType.IDENTITY) private Long reportInfoId; //首要的关键
推荐阅读
- docker - Ubuntu Docker - 从官方 Dockerfile 构建的 php composer 失败,COPY 失败 Step 9/12 stat no such file or directory
- c# - ASP .NET Core 2.1 站点的 nlog 设置
- vba - 从 DAO.OpenRecordSet 访问 2007 错误 3151。怎么修?
- java - Java Android:如何使用谓词
和 Room 一起从数据库中检索特定元素? - c - Lex 程序计算行数、字符数、数字数和关键字数
- sql-server - tsql 嵌套游标没有正确回滚继续
- sql - 如何使用替换功能在 SQL 更新中转义 ' 字符?
- ruby-on-rails - 使用 Ruby 从 Google API 中删除幻灯片
- npm - 如何在机器级别设置 npm install?
- r - 遇到错误后如何沿着 for 循环移动?