自动增量字段未返回值(非主键)-Spring Boot JPA

时间:2019-05-28 14:15:19

标签: java spring-boot jpa spring-data-jpa

根据我的要求,我的字段具有自动递增功能,并且不是键。调用存储库save()之后,我需要获取该自动增量字段的值。

mask

但是有些无法即时获得自动增量的值,它返回null。 这是我的实体类。

df11.b.mask(df11.b.str.len()<=3,inplace=True)
df11
Out[16]: 
                   b      c
x1          category  strd1
x2       categorical  strd2
x3      cater pillar  strd3
x4  coming and going  strd4
x5               NaN  strd5
x6           No Data  strd6
x7           calling  strd7
x8               NaN  strd8

我尝试使用其他几种解决方法,例如在保存后刷新实体。但是结果是一样的。

merchantEntity = merchantRepository.save(merchantEntity);
merchantEntity.getMerchId() // returns null

是否有可能实现我的期望。非常感谢您的帮助。 谢谢

1 个答案:

答案 0 :(得分:0)

获取此自动递增的值的唯一方法是刷新记录。

因为JPA只获取主键,因为必须在EntityManager.persist()之后设置ID。

因此,您必须使用findOne()EntityManager.refresh()

重新加载记录。