1

文字列型の結果をクエリ型の名前付きクエリに返す方法....私が試したコード

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();

クエリが常に1つの結果のみを返すようにします。そうでない場合、getSingleResultを呼び出すと、結果が1つ以上返される場合はNonUniqueResultException例外がスローされ、結果が返されない場合はNoResultExceptionがスローされます(ドキュメントを確認してください) 。

于 2012-12-31T13:03:20.107 に答える