通过休眠投影创建报表时,在HQL查询中出错

时间:2014-09-10 12:55:51

标签: java hibernate java-ee jpa jpa-2.0

我有以下查询正常工作,但后来我不得不将其转换为hibernate投影以解决性能问题。

NamedQuery = " SELECT o FROM OrderJob o "

转换为: -

String hqlQuery = "select " 
        + "new JobAuditListVO( o.jobDate, o.jobType, customer.name, job.street, payment.description, p.paid,o.invoice) " 
        + " from OrderJob o   " 
        + " join  o.order ordr "
        + " join ordr.customer customer "
        + " join  o.jobAddress job "
        + " join o.payment p"
        + " join p.paymentReceivedMethod payment";
getEntityManager().createQuery(hqlQuery).getResultList();

但该列表返回0结果。而名称查询返回2结果。

1 个答案:

答案 0 :(得分:0)

我得到了答案。这两个查询绝对相同。 问题是我不得不使用Left Join而不是Simple Join。因为某些实体返回null。