美好的一天,
我有一个看起来像这样的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;
...
}
我如何进行查询以使所有物品持有者的女巫包含我的物品? (有标准)
答案 0 :(得分:8)
您只需要加入:
Criteria c = session.createCriteria(ItemHolder.class, "itemHolder");
c.createAlias("itemHolder.items", "item");
c.add(Restrictions.eq("item.id", theItemId);
答案 1 :(得分:2)
Criteria criteria=session.createCriteria(ItemHolder.class);
criteria.createAlias("items", "item");
criteria.add(Restrictions.eq("item.Name", "my Item").ignoreCase());
你可以限制你的要求:id或name ..
答案 2 :(得分:1)
查询可能类似于:
Item loadedItem = ...;
Query query = session.createQuery("from ItemHolder ih where :item in elements(ih.items)");
query.setParameter("item", loadedItem);
List list = query.list();