如何在查询类型的命名查询中返回字符串类型结果.... 我试过的代码
public String getTargetEmail(){
Query query= em.createNamedQuery("BC_READ_SYSTEM_PROPERTIES_BY_NAME");
return (String)query.toString();
}
但这会返回其他内容,例如org.hibernate.ejb.QueryImpl@3e4d072b
答案 0 :(得分:3)
在Query对象上调用 toString ,您只需获得它的字符串表示形式。您实际上需要像这样执行查询
return (String) query.getSingleResult();
确保查询始终只返回一个结果,否则调用 getSingleResult 会抛出 NonUniqueResultException 异常,以防更多的结果返回一个,或 NoResultException ,如果没有返回结果(检查文档here)