【发布时间】:2017-08-16 07:28:59
【问题描述】:
我有这个实体代表两个其他实体之间的关系。
我想保存关系,而不必在保存之前获得角色和权限。
我想要类似 .save(roleId, privilegeId) 这样我就不必在保存关系之前访问数据库。
有可能吗?如何实现?
谢谢
@Entity
@Table(name = "security_role_privilege")
public class RolePrivilege implements Serializable {
private static final long serialVersionUID = -4788066966268187121L;
@EmbeddedId protected RolePrivilegeId id;
@ManyToOne
@JoinColumn(name = "role_id", insertable = false, updatable = false)
protected Role role;
@ManyToOne
@JoinColumn(name = "privilege_id", insertable = false, updatable = false)
protected Privilege privilege;
protected RolePrivilege() {}
public RolePrivilege(Role role, Privilege privilege) {
super();
this.role = role;
this.privilege = privilege;
this.id = new RolePrivilegeId(role.getId(), privilege.getId());
this.privilege.getRolePrivileges().add(this);
this.role.getRolePrivileges().add(this);
}
public RolePrivilegeId getId() {
return this.id;
}
public Role getRole() {
return this.role;
}
public Privilege getPrivilege() {
return this.privilege;
}
}
这是该实体的 Spring Data JPA 存储库
@Repository
public interface RolePrivilegeRepository extends JpaRepository<RolePrivilege, RolePrivilegeId> {}
【问题讨论】:
标签: java spring hibernate spring-data-jpa