Spring Data JPA的save之坑

14 篇文章 0 订阅

问题

因为想要用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;
 }

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值