Tag: ejbql

Hibernate(JPA)如何做一个急切的查询,加载所有子对象

关于我之前的问题 ,我想确保所有子对象都被加载,因为我有一个可能需要访问数据的多个线程(因此避免了延迟加载exception)。 我理解这样做的方法是在查询中使用“fetch”关键字(EJB QL)。 喜欢这个: select distinct o from Order o left join fetch o.orderLines 假设一个具有Order类的模型,其中包含一组OrderLines 。 我的问题是似乎需要“distinct”关键字,否则我似乎会收到每个OrderLine的Order 。 我做对了吗? 也许更重要的是,有没有办法拉入所有儿童物品,无论多深? 我们有大约10-15个类,对于服务器,我们将需要所有加载…我避免使用FetchType.EAGER因为这意味着它总是渴望,特别是Web前端加载一切 – 但也许这是要走的路 – 那是你做的? 我似乎记得我们之前尝试过这个,然后得到非常慢的网页 – 但也许这意味着我们应该使用二级缓存?