我从规格中找到以下信息。但对于我这个不是英国人而言,这并不够清楚。是@PostRemove不交易?
PostPersist
和PostRemove
回调方法在实体持久化或移除后调用。这些回调也将在这些操作级联的所有实体上调用。分别在数据库插入和删除操作后将调用PostPersist
和PostRemove
方法。这些数据库操作可能会在调用persist,merge或remove操作之后直接进行,也可能在发生刷新操作后(可能在事务结束时)直接发生。生成的主键值可在PostPersist
方法中找到。
我的问题是任何交易相关的工作可以回滚后@PostRemove
?
比方说,我的实体将删除@PostRemove
class MyEntity {
@PostRemove
private void onPostRemove() {
// delete offline files related to this entity
// not restorable!
}
}
一些脱机文件是否有可能从存储中删除这些脱机文件和实体仍然在数据库中留下? (通过回滚?)
似乎有关:http://stackoverflow.com/questions/4895854/jpa-postpersist-postupdate-transaction?rq=1 – MWiesner