spring data jpa CrudRepository findone有时会返回null

时间:2018-03-07 12:13:47

标签: spring-data-jpa

我的问题描述:

1我的userDao有两个方法一个调用repository.saveAndFlush,另一个调用repository.findone然后更新记录,这两个方法在不同的事务中被调用,当第一个事务完成然后开始 运行methd 2,但有时方法2 repository.findone返回null。

2环境:mysql,springdatajpa使用hibernate

3任何人都可以给我一些解决方案,非常感谢..

1 个答案:

答案 0 :(得分:0)

在我的情况下,我有类似的发病率,我使用jhipster:

" generator-jhipster":" 4.6.0", Hiberante 5.2.8.Final。

在我保存并重新加载编辑视图后,例如http:// localhost / entity / {id}我得到了EntityNotFoundException,我认为这是由于hibernate的一些配置及其二级缓存,但是在审查了我的实体后,我意识到我有这个:

@ManyToOne (optional = false)
     private Order originOrder;

@ManyToOne (optional = false)
     private WhareHouse deliveryLocation;

当originOrder和deliveryLocation可以为null时,请将其更改为我的业务模型:

@ManyToOne (optional = true)
     private Order originOrder;

@ManyToOne (optional = true)
     private WhareHouse deliveryLocation;

你觉得怎么样?就是这样,它花了我超过2周的时间阅读并寻找对这个奇怪错误的引用,我希望这可以帮助你,如果是这样的话