Мои Entities
, как показано ниже ...
@Entity
@Table(name = "PROJECT")
public class CProject implements Serializable {
@Id
private Long id;
@OneToOne(fetch = FetchType.LAZY)
@Fetch(FetchMode.SELECT)
@JoinColumn(name = "TEAM")
private Team team;
}
И
@Entity
@Table(name = "TEAM")
public class Team implements Serializable {
@Id
private Long id;
private Date formedDate;
@ElementCollection(fetch = FetchType.EAGER)
@MapKeyColumn(name = "MEM_ID")
@Column(name = "WEIGHTAGE")
@CollectionTable(name = "TEAM_MEMBERS")
private Map<Long, Integer> teamMembers = new HashMap<>();
}
У меня есть еще один Entity
с именем Member
.Некоторые из участников связаны с Team
.И этим участником управлял private Map<Long, Integer> teamMembers;
Я хочу получить Project
список вовлеченных членов команды по его / их Long id
.В настоящее время я использую DetachedCriteria / Criteria
Обратите внимание, что: идентификатор TeamMember, используемый в ключе карты, например Map<MemID, Weightage>
.