3

再会,

我有一个看起来像这样的 Hibernate 映射:

public class Item implements Serializable {
      private lond id;
      private String Name;
      private boolean status;
      ...

}

public class ItemHolder  implements Serializable {
      private long id;
      private List<Item> items;
      ...
}

如何查询以获取所有物品持有者的女巫包含我的物品?(有标准)

4

3 回答 3

8

您只需要加入:

Criteria c = session.createCriteria(ItemHolder.class, "itemHolder");
c.createAlias("itemHolder.items", "item");
c.add(Restrictions.eq("item.id", theItemId);
于 2012-06-26T08:07:11.643 回答
2
Criteria criteria=session.createCriteria(ItemHolder.class);
criteria.createAlias("items", "item"); 
criteria.add(Restrictions.eq("item.Name", "my Item").ignoreCase());

您可以根据您的要求进行限制:id 或 name..

于 2012-06-26T08:08:49.577 回答
1

查询可能类似于:

Item loadedItem = ...;
Query query = session.createQuery("from ItemHolder ih where :item in elements(ih.items)");
query.setParameter("item", loadedItem);
List list = query.list();
于 2012-06-26T08:08:39.160 回答