如何在Spring Boot中获取用户实体,具体取决于作为用户实体属性的角色,以获取扩展用户的实体。例如,如果user.role =" admin"获取Admin类型的对象,该对象继承User。
答案 0 :(得分:0)
使用https://docs.oracle.com/javaee/5/api/javax/persistence/DiscriminatorValue.html。
例如:
@Entity
@DiscriminatorColumn(name="ROLE", discriminatorType=STRING, length=20)
@DiscriminatorValue("user")
public class User{ ... }
@Entity
@DiscriminatorValue("admin")
public class Admin extends User { ... }
如果您使用EntityManager并假设ID为1的用户是管理员,则可能有效:
Admin admin = (Admin) em.find(User.class, 1);