我需要这样的查询:
select * from TABLE where Source_KEY in (1,2);
我的Hibernate类是这样的:
@Entity
@Table(name = "TABLE", schema = "SCH")
public class Table {
private Long key;
private Long id;
private Source src;
}
Source is another entity class,
@Entity
@Table(name = "SOURCE", schema = "SCH")
public class Source{
private Long Source_KEY;
}
现在我已经写了一个标准,但是似乎有问题。 请任何人对此提供建议。
private static final List<String> STAY_SOURCE_KEY = asList(1,2);
criteria.add(Restrictions.in("Source_KEY", STAY_SOURCE_KEY));
这应该是Source类的列表,但如何在标准中做到这一点。它有 形成类似
的查询select * from TABLE where Source_KEY in (1,2);
答案 0 :(得分:1)
您需要加入表格。使用
criteria.createAlias("src","s");
criteria.add(Restrictions.in("s.Source_KEY", STAY_SOURCE_KEY));