简体   繁体   English

Hibernate Criteria列表

[英]Hibernate Criteria for list

Good Day, 美好的一天,

I have a Hibernate mapping that looks something like this: 我有一个看起来像这样的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;
      ...
}

How can I do query to get all Item Holder's witch contains my Item? 如何进行查询以使所有物品持有者的女巫包含我的物品? (with criteria) (有标准)

You just need a join: 你只需要一个加入:

Criteria c = session.createCriteria(ItemHolder.class, "itemHolder");
c.createAlias("itemHolder.items", "item");
c.add(Restrictions.eq("item.id", theItemId);
Criteria criteria=session.createCriteria(ItemHolder.class);
criteria.createAlias("items", "item"); 
criteria.add(Restrictions.eq("item.Name", "my Item").ignoreCase());

you can restrict with your requirement : id or name.. 你可以限制你的要求:id或name ..

The query could be something like: 查询可能是这样的:

Item loadedItem = ...;
Query query = session.createQuery("from ItemHolder ih where :item in elements(ih.items)");
query.setParameter("item", loadedItem);
List list = query.list();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM