我的表是一个自关联表,用JPA在做一个删除的时候,虽然test方法执行成功了,但是数据库里面的值依然存在,这样的问题使我困惑很久,通过阅读别人的文章,原来是JPA entity生命周期的状态导致的,我们暂且叫它实体状态。
由于我的ProjectInfo(项目)和childern(里程碑)是自关联,为一对多的关系,我在删除childern的时候,ProjectInfo已经查询出来(未查询的不在此列),当删除childern时,JPA将childern设置为删除状态,但是ProjectInfo也持有children,并且ProjectInfo里面的children为持久状态,所以导致不能删除。最后是这样解决的:
/**
* 删除里程碑