我有一个Address类类型和一个Employee类类型。地址有一系列员工。
我有HQL,
Query query=session.createQuery("from Address a left join a.employees where a.zipcode like '%Work'" );
List<Address>addresses=query.list();
有5个地址实例,每个实例中有5个Eemployee实例。所以我们得到25个对的条目。
我们看到了,
addresses ArrayList<E> (id=42)
elementData Object[25] (id=59)
[0] Object[2] (id=61)
[0] Address (id=66)
[1] Employee (id=67)
...
我只打印了第一个条目。
如何使用Criteria获得此结果?
答案 0 :(得分:0)
您可以尝试这样的事情
Criteria crit = session.createCriteria(Address.class);
crit.setFetchMode("employees", FetchMode.JOIN);
crit.add(Restrictions.like("zipcode", "Work", MatchMode.END));
List<Address>addresses = crit.list();