我如何使用JPA表示这一点?
我想要一个具有以下列的“角色展示”实体 使用者 角色 部门/项目/小组 以上所有三列构成一个复合主键。我想知道是否可以将列定义为部门/项目/组?如果是,如何进行?或者我需要将实体分为部门角色、组角色和项目角色我如何使用JPA表示这一点?,jpa,Jpa,我想要一个具有以下列的“角色展示”实体 使用者 角色 部门/项目/小组 以上所有三列构成一个复合主键。我想知道是否可以将列定义为部门/项目/组?如果是,如何进行?或者我需要将实体分为部门角色、组角色和项目角色 谢谢。您可以将多态性与抽象基类一起使用 @Entity public class RolePlayed { @ManyToOne private User user; @ManyToOne private Role role; @ManyToO
谢谢。您可以将多态性与抽象基类一起使用
@Entity
public class RolePlayed {
@ManyToOne
private User user;
@ManyToOne
private Role role;
@ManyToOne
private Body body;
...
}
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Body {
...
}
@Entity
public class Department extends Body {
...
}
@Entity
public class Project extends Body {
...
}
@Entity
public class Group extends Body {
...
}
查看以获得良好的概述
或者,您也可以使用DepartmentRole、GroupRole和ProjectRole实现将角色扮演实体抽象化。您可以使用多态性和抽象基类来实现这一点
@Entity
public class RolePlayed {
@ManyToOne
private User user;
@ManyToOne
private Role role;
@ManyToOne
private Body body;
...
}
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Body {
...
}
@Entity
public class Department extends Body {
...
}
@Entity
public class Project extends Body {
...
}
@Entity
public class Group extends Body {
...
}
查看以获得良好的概述
或者,您也可以使用DepartmentRole、GroupRole和ProjectRole实现将RolePlayed实体抽象化