Hi! I have read the book "SQL Tuning" by Dan Tow and want to optimise the important HQL/JPA-QL queries of my application, but I not sure how to enforce the optimal execution plan :-(.
Consider the following JPA-QL-Query: | select o | from Operation o | where o.order.flight.etd = :flight | The resulting SQL-Statement: | select | .... | from | Operation operation0_, | OrderTab order1_, | Flight flight2_ | where | order1_.flight_id=flight2_.id | and operation0_.order_id=order1_.id | and flight2_.etd=? | Let's say I want to get the following join order: Flight, OrderTab, Operation. How can I get it? Exists there a way to enforce this join order with Jpa-QL or HQL? If it were possible to enforce the join order with JPA-QL I would only have to change the JPA-QL query, the other application code would remain unchanged: | Query query = em.createQuery(<JPA-QL Query which enforces the join order>); | Operation op = (Operation)em.getSingleResult(); | .... | But if the only way to enforce the join order is to execute a sql query instead the HQL-Query, I think would have to write the following code: | Query query = em.createNativeQuery(<SQL Query which enforces the join order>); | Object[] ar = (Object[])em.getSingleResult(); /*the result of the query won't be an object with the type Operation but an array of objects (the attribute values)*/ | Operation op = (Operation)new Operation().setAttr1(ar[0]).setAttr2(ar[1]) ...; | The code above is very clumsy and not very convenient. If sql is the only way to enforce the wanted execution plan, can I let hibernate transform the result of the query into an Operation-object? The code changes in this case would be minimal: | Query query = em.createNativeQuery(<SQL Query which enforces the join order>); | Operation op = (Operation)em.getSingleResult(); | Thanks Hoeft View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4042796#4042796 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4042796 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user