OpenJPA getSingleResult怪异

时间:2013-05-14 10:14:51

标签: openjpa

A有两个实体:ReportReportSection绑定OneToMany关系。通常,每个报告都包含多个部分。

我使用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),据我所知,这是不正确的行为。

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

0 个答案:

没有答案