我试图在Spring中编写一个测试,这个测试恰好可以多次从数据库中保存和读回实体。首先我遇到LazyInitializationException
,但用@Transactional
注释测试解决了这个问题。但是,现在,我面临的问题是我的数据的mappedBy-Relation没有及时更新 - 我读到这只发生在事务结束时。
目前的测试取决于要更新的这种关系 - 我测试的是例如每种颜色只能下注一次并且如果第二次尝试下注则失败。但是,已经下注的赌注的代码检查取决于玩家的赌注字段。
我怎样才能做到这一点?
我的数据的简化版本如下:
@Entity
class Bet {
@ManyToOne
Player player;
//...
}
@Entity
class Player {
@OneToMany(mappedBy="player")
List<Bet> bets;
//...
}