我需要从用户表中获取值,该用户具有管理员ID, 管理员是用户,因此管理员ID再次映射到用户实体。
这将导致连续迭代,直到管理者ID为空为止。 \ 实体可以在里面找到更多内容>用户实体>管理员ID>->用户实体...。
是否有可能使用休眠查询通过单个管理器获取单个实体?
USER_NAME (PK)
CREATE_DATE
UPDATED_DATE
ROLE_ID
USER_ID
MANAGER_ID
REGION_ID
USER_GROUP
Created_By
User class
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USER_ID", unique = true, nullable = false)
private Long userId;
@ManyToOne( targetEntity = User.class, cascade = CascadeType.ALL)
@JoinColumn(name = "MANAGER_ID", referencedColumnName = "USER_ID")
private User managerId;
答案 0 :(得分:0)
您可以只将实体与managerId关联(我的意思是Long类型),或者可以使用fetch = FetchType.LAZY标记多对一关系,并仅在需要时才调用此字段。