我有以下查询正常工作,但后来我不得不将其转换为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结果。
答案 0 :(得分:0)
我得到了答案。这两个查询绝对相同。 问题是我不得不使用Left Join而不是Simple Join。因为某些实体返回null。