问题
因为想要用mysql自增id,想要在save之后获取这个保存的实体的id判断是否插入成功,一直以为Spring Data JPA中的save方法执行结束之后,save(entity)中的entity就会自动被更新为保存的entity,但是其实不是这样的,save之后这个实体的id总是为0
解决办法
必须在主键get方法上要加上
@GeneratedValue(strategy = GenerationType.AUTO)
或
@GeneratedValue(strategy = GenerationType.IDENTITY),Spring Data JPA才会知道你想要拿到这个保存后的实体,再返回这个实体
//返回主键 @GeneratedValue(strategy = GenerationType.AUTO) //或 @GeneratedValue(strategy = GenerationType.IDENTITY) @Id @Column(name = "id") public int getId() { return id; }
最后
以上就是阳光嚓茶最近收集整理的关于Spring Data JPA的save之坑的全部内容,更多相关Spring内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复