1

如何在 Query 类型的命名查询中返回 String 类型的结果......我试过的代码

public String getTargetEmail(){
    Query query= em.createNamedQuery("BC_READ_SYSTEM_PROPERTIES_BY_NAME");
    return (String)query.toString();
}

但这会返回其他类似的东西org.hibernate.ejb.QueryImpl@3e4d072b

4

1 回答 1

3

在 Query 对象上调用toString,您只会得到它的字符串表示形式。您实际上需要像这样执行查询

return (String) query.getSingleResult();

确保查询始终只返回一个结果,否则调用getSingleResult将抛出NonUniqueResultException异常以防返回多个结果,或NoResultException以防不返回任何结果(请查看此处的文档)

于 2012-12-31T13:03:20.107 回答