[ https://issues.apache.org/jira/browse/OPENJPA-208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marc Prud'hommeaux resolved OPENJPA-208. ---------------------------------------- Resolution: Fixed Fix Version/s: (was: 0.9.7) 0.9.8 Added NoResultException and NonUniqueResultException to kernel to allow the identification of the case where a unique result was selected by either none or too many were found > NoResultException and NonUniqueResultException are not thrown when expected > --------------------------------------------------------------------------- > > Key: OPENJPA-208 > URL: https://issues.apache.org/jira/browse/OPENJPA-208 > Project: OpenJPA > Issue Type: Bug > Components: jpa > Affects Versions: 0.9.6 > Reporter: Marc Prud'hommeaux > Assigned To: Marc Prud'hommeaux > Fix For: 0.9.8 > > > When calling Query.getSingleResult() on a query that either has no result or > multiple results, either a NoResultException and NonUniqueResultException > (respectively) should be thrown in accordance with section 3.6.1 of the JPA > spec. Instead, we appear to throw a > org.apache.openjpa.persistence.InvalidStateException: > org.apache.openjpa.persistence.InvalidStateException: The query on candidate > type "class com.sun.ts.tests.ejb30.persistence.query.apitests.Department" > with filter "select d.name from Department d where d.id > 1" was configured > to have a unique result, but more than one instance matched the query. > at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1282) > at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1207) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:982) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:791) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:761) > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:757) > at > org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:514) > at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:225) > at > org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:287) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.