嗨
,我有一个休眠实体,它有一组另一个实体作为其字段。像这样的东西:
public class UserEntity implements Srializable {
private Set<Role> roles;
}
我应该以至少一个 ADMIN 用户始终存在于系统中的方式保存表。这可以通过简单的方式完成,如下所示:
public void updateUser{
UserEntity ue = getUser();
if (userIsNotTheLastAdmin(ue)) {
/** Here is a race condition **/
roles.remove(Role.ADMIN);
getSession().saveOrUpdate(ue);
}
}
但真正的问题发生在我们有并发操作时。如何以原子方式执行所有操作?
谢谢,
HM