Если при соединении выборка вызывает LIEX, тогда я мог бы предложить использовать Dynamic Entity Graph, потому что если вам нужно определить график для конкретного случая использования.
Давайте попробуем это, я сделал и работаю для меня.
public class DynamicEntityGraphDemo {
public static void main(String[] args) {
EntityManager em = HibernateUtil.getEntityManager();
EntityGraph graph = em.createEntityGraph(Product.class);
Subgraph itemGraph = graph.addSubgraph("producerEntities");
Map hints = new HashMap();
hints.put("javax.persistence.loadgraph", graph);
Product pro = em.find(Product.class, 1, hints);
System.out.println("DynamicEntityGraphDemo pro = " + pro.toString() +
"producer = " + pro.getProducerEntities().toString());
}
}
ПРИМЕЧАНИЕ. В динамическом графе сущностей используется LEFT OUTER JOIN при извлечении дочерней сущности.
(Subgraph itemGraph = graph.addSubgraph ("providerEntities");)