我有以下类结构:
public class User{
Set<UserAttribute> userAttributes;
}
public class Role implements/extends UserAttribute {
Set<PermissionAssignment> permissionAssignments;
}
public class PermissionAssignment {
Permission permission;
}
public class Permission implements/extends UserAttribute {
}
因此,用户具有集合或属性。属性可以是角色或权限。属性存储在同一个表中,我使用鉴别器。然后该角色具有一组权限分配并且权限分配具有权限。假设我在 Hibernate 会话中有 User 类的实例。如果我想将新的权限分配添加到权限分配集中,我必须做什么?创建权限分配是否足够,然后创建权限并调用 permissionAssignments.add(permission) 然后将创建所有必要的行 - 权限分配和权限,还是我必须将创建的权限添加到 userAttributes 然后创建权限分配并添加它到权限分配设置?那么当我不将它添加到 userAttributes 集时,基本上 Hibernate 会在数据库中创建权限行吗?
如果没有,当我添加权限分配并更新用户时会发生什么?Hibernate 会抛出任何显示为什么不添加它的异常吗?