在HQL中加入,如何使用Criteria?

时间:2014-10-31 08:37:51

标签: hibernate

我有一个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获得此结果?

1 个答案:

答案 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();