1

A 有两个实体:ReportReportSectionOneToMany关系约束。通常,每份报告包含多个部分。

我使用OpenJPA 2.2.1并且最近在尝试获取特定内容时也开始遇到错误,Report同时也急切地加载部分。

em.createNamedQuery("REPORT.findSingleWithSections").setParameter("id", id).getSingleResult();

哪里REPORT.findSingleWithSections是:

SELECT r FROM Report r LEFT JOIN r.sections s WHERE r.id = :id;

我的期望:Report要获取的单个对象和所有部分。

我得到什么: NoUniqueResultException异常

我确定查询是通过主键完成的,因此数据库中不可能实际存在双重记录。

如果我改为getSingleResult每对getResultList都会得到一个(Report -> ReportSection),据我所知,这是不正确的行为。

这是一个已知的错误还是我在这里做错了什么?任何提示都会有所帮助

4

0 回答 0