从hibernate中的命名查询返回字符串结果

时间:2012-12-31 12:43:40

标签: hibernate named-query

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

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

但这会返回其他内容,例如org.hibernate.ejb.QueryImpl@3e4d072b

1 个答案:

答案 0 :(得分:3)

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

return (String) query.getSingleResult();

确保查询始终只返回一个结果,否则调用 getSingleResult 会抛出 NonUniqueResultException 异常,以防更多的结果返回一个,或 NoResultException ,如果没有返回结果(检查文档here