我有一个私人课程
@Entity
@Table(name = "PK_PRIVS", schema = "dbo")
public class Priv implements java.io.Serializable{
private static final long serialVersionUID = 1L;
private String code;
private String name;
private String description;
private PrivType type;
//...
}
和一个与 Priv 有多对多关系的 Report 类,并包含一组关联的 Privs - privs。
@Entity
@Table(name = "REPORT", schema = "dbo")
public class Report implements java.io.Serializable {
//...
private Set<Priv> privs = new HashSet<Priv>(0);
//...
@JsonIgnore
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "REPORT_PK_PRIVS", schema = "dbo", joinColumns = { @JoinColumn(name = "REPORT_ID") }, inverseJoinColumns = { @JoinColumn(name = "PK_PRIVS_CODE") })
public Set<Priv> getPrivs() {
return this.privs;
}
public void setPrivs(Set<Priv> privs) {
this.privs = privs;
}
}
现在我有一组字符串,它们是 Priv 类的代码(代码是 Priv 中的主键)。
Set<String> privsCodesSet; //set of codes of Priv classes
我需要一个标准,它允许我找到报告,它的 Priv 集中的所有代码都包含在 privsCodesSet 中。例如,如果我有 privsCodeSet = {"code1", "code2"}
带有代码 {"code1"" 的 privs 报告应该在结果中,但带有代码 {"code1", "code2", "code3"} 的 privs 报告不应该。
我也有加入 Priv 和 Report 的课程,但我不确定它是否有帮助。