Hibernate HQL中的连接,如何使用标准?

Hibernate HQL中的连接,如何使用标准?,hibernate,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(); Query Query=session.createQuery(“从地址a左加入a.employees,其中

我有一个Address类类型和一个Employee类类型。地址有一个员工的集合

我在HQL有

Query query=session.createQuery("from Address a left join  a.employees  where a.zipcode like '%Work'" );
List<Address>addresses=query.list();
Query Query=session.createQuery(“从地址a左加入a.employees,其中a.zipcode类似于“%Work”);
Listaddresses=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)
...
地址数组列表(id=42)
elementData对象[25](id=59)
[0]对象[2](id=61)
[0]地址(id=66)
[1] 雇员(id=67)
...
我只打印了第一个条目


你是如何根据标准得到这个结果的?

你可以试试这样的方法

Criteria crit = session.createCriteria(Address.class);
crit.setFetchMode("employees", FetchMode.JOIN);
crit.add(Restrictions.like("zipcode", "Work", MatchMode.END));
List<Address>addresses = crit.list();
Criteria crit=session.createCriteria(Address.class);
crit.setFetchMode(“雇员”,FetchMode.JOIN);
标准添加(限制,如(“zipcode”、“Work”、MatchMode.END”);
Listaddresses=crit.list();

然后我得到一个地址列表(每个地址都有一个初始化的集合),但没有一个对象列表[2]。@pred-fragmaric请你看看这个问题好吗?