【发布时间】:2014-02-05 23:11:56
【问题描述】:
我正在测试一个 JPA 项目,如下所示:
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");
}
输出是:
javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.
qry 字符串是:
EJBQueryImpl(ReadAllQuery(referenceClass=TestCon sql="SELECT a, b FROM C##test.testcon"))
当我直接在 SQLPLUS 中测试时:
SELECT a, b FROM C##test.testcon
它给了我正确的结果。我找不到程序失败的地方。
【问题讨论】:
-
表格中的记录不止一条吗?
-
您应该
ex.printStackTrace()以获取更多信息。