Tôi đã thực hiện điều này trong một số triển khai bằng cách sử dụng phương pháp như bên dưới. Làm điều đó trên UserModel chứ không phải ở cấp UserEntity.
void updateRoles(UserModel user, List<RoleModel> rolesToRemove, List<RoleModel> rolesToAdd)
{
for (RoleModel role : rolesToRemove)
{
user.deleteRoleMapping(role);
}
for (RoleModel role : rolesToAdd)
{
user.grantRole(role);
}
}