Java-Persistenz - getSingleResult() nicht abrufen einer beliebigen Entitäten

Teste ich eine JPA-Projekt wie folgt:

try {
            emFactory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
            EntityManager em = emFactory.createEntityManager();
            Query qry = em.createQuery("select t from TestCon t");
            System.out.println(qry);
            TestCon tcon = (TestCon) qry.getSingleResult(); //qry.getSingleResult();
            rslt = tcon.getB();
            if (rslt == null || rslt.equals(""))
                rslt = "Could not get result";
            System.out.println(rslt); //new ShowMsg(rslt);
        } catch (Exception ex) {
            System.out.println(ex); //new ShowMsg("Exception occured");
        }

Ausgabe:

javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.

Den qry string ist:

EJBQueryImpl(ReadAllQuery(referenceClass=TestCon sql="SELECT a, b FROM C##test.testcon"))

Wenn ich den test direkt in SQLPLUS:

SELECT a, b FROM C##test.testcon

es gibt mir das richtige Ergebnis. Ich kann nicht herausfinden, wo das Programm nicht.

Gibt es mehr als einen Datensatz in der Tabelle?
Ja, es sind zwei
Sollten Sie ex.printStackTrace() um weitere Informationen zu erhalten.

InformationsquelleAutor user1680859 | 2014-02-05

Schreibe einen Kommentar