1
我使用seam框架和JPA。
我有一个包含(id_permission,action_permission,discriminator_permission) 并包含一个实体的作用(id_role,name_role)JPA ManyToMany字段
我用的是双向关联多对多生成包含连接表AccountPermission这两个实体之间的实体许可(id_permission,id_role,name_role,action_permission,discriminator_permission)
@ManyToMany
@JoinTable(name="AccountPermission",
joinColumns={@JoinColumn(name="role_id",
referencedColumnName="role_id"),
@JoinColumn(name="name_role",
referencedColumnName="name_role"),},
inverseJoinColumns={@JoinColumn(name="action_permission",
referencedColumnName="action_permission"),
@JoinColumn(name="discriminator_permission",
referencedColumnName="discriminator_permission"),
@JoinColumn(name="permission_id",
referencedColumnName="permission_id")})
public List<Permission> getPermissions() {
return permissions;
}
public void setPermissions(List<Permission> permissions) {
this.permissions = permissions;
}
所以,你看到的影响在连接表中的所有属性都来自这两个表。 我的问题是属性“name_role”,我不想与它联合,因为它是一个可编辑的属性。所以如何在不加入连接的情况下将这些值保存在连接表中。
是,ROLE_ID和permission_id是角色和权限两个主键,但我需要的时候我坚持的连接表中的作用accountpermission将包含role_id和permission_id以及role_name和permission_action –
了解数据库规范化。没有理由将此信息放入连接表中,因为连接表具有该角色的外键(该角色包含角色名)和该权限的另一外键(已包含permission_action)。 –
是的,我知道......但问题是,当我使用j seammissionstore与缝我需要在表accountpermission存储permission_action和role_name –