Java 使用hibernate criterian和值列表获取数据

Java 使用hibernate criterian和值列表获取数据,java,hibernate,Java,Hibernate,我有这样的课 --地位等级-- 你怎么会这样 Criteria criteria = session.createCriteria(Item.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.createAlias("statuses", "statuses"); criteria.add(Restrictions.eq("statuses.name", "OK")); Lis

我有这样的课

--地位等级--

你怎么会这样

Criteria criteria = session.createCriteria(Item.class)
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.createAlias("statuses", "statuses");   
criteria.add(Restrictions.eq("statuses.name", "OK"));
List<Item> items = criteria.list();
Criteria=session.createCriteria(Item.class)
.setResultTransformer(标准.DISTINCT\u ROOT\u实体);
createAlias(“状态”、“状态”);
添加(Restrictions.eq(“status.name”、“OK”));
列表项=条件。列表();

您是如何表示状态OK的。。?是名称='OK'还是id=1@ManuPK使用名称感谢它可以正常工作,还有一个问题我可以向不同的表添加更多的
createAlias
,您可以使用
createAlias
建立关系。例如
criteria.createAlias(“a.b.name”、“bName”)这里是
public class Item  implements java.io.Serializable {
     private Integer itemId;
     private Set<Status> statuses = new HashSet<Status>(0);
}
Status status = new Status();
Set<Status> stset = new HashSet<Status>();
stset.add(status)
List<Criterion> criterionList = new ArrayList<Criterion>();
criterionList.add(Restrictions.in("statuses", stset));
Criteria criteria = session.createCriteria(Item.class)
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.createAlias("statuses", "statuses");   
criteria.add(Restrictions.eq("statuses.name", "OK"));
List<Item> items = criteria.list();