请帮助我使用hibernate模板或分离条件查询,从表Clause中获取数据。它有一组部门表(多对多关系)。现在,我只需要列出与任何部门列表相关的子句列表 - 列表deptIdList(这是输入参数)。我可以使用SQL本机查询获得所需的结果,但我想使用hql或分离的条件查询来实现结果。
public class Clause {
@Id
@GeneratedValue
@Column(name = "CLAUSE_ID")
private Long clauseId;
@Column(name = "REG_REFERENCE")
private String regulatoryReference;
@Column(name = "REG_REQ")
private String regulatoryRequirement;
@Column(name = "REQ_IMP_RATING")
private String reqImpactRating;
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name = "EWMS_CLAUSE_DEPT",
joinColumns = { @JoinColumn(name = "CLAUSE_ID", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "DEPT_ID", nullable = false, updatable = false) }
)
private Set<Department> departmentListForClause;
@Column(name = "CLAUSE_KEY_ACT")
private String keyActivity;
@Column(name = "CLAUSE_TOPIC")
private String clauseTopic;
@Column(name = "CLAUSE_KEY_WORDS")
private String clauseKeywords;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "REG_ID")
private RegulationDetails regulation;
//getter setter methods
}
public class Department {
@Id
@GeneratedValue
@Column(name = "DEPT_ID")
private Long departmentId;
@Column(name = "DEPT_NAME")
private String departmentName;
@Column(name = "TIER1_ID")
private String tierId;
@ManyToMany(/*fetch = FetchType.LAZY,*/ mappedBy = "regulatoryDepartments")
private Set<RegulationDetails> regulationListForDepartment;
@ManyToMany(/*fetch = FetchType.LAZY, */mappedBy = "departmentListForClause")
private Set<Clause> clauseListForDepartment;
//getter setter methods
}