Hibernate 3.3.2 GAを介してネイティブSQLクエリを使用して、Oracle 11gデータベースから文字列を選択しようとしている非常に単純なGroovyクラスがあります。とても単純に思えますが、得られた結果を理解することはできません。コードは次のとおりです。
package serialize
import org.hibernate.cfg.Configuration
import org.hibernate.transform.ToListResultTransformer
class SerializeDatabaseObjects {
static main(args) {
def sessionFactory = initHibernate()
def session = sessionFactory.openSession()
def tx
def result
try {
tx = session.beginTransaction()
result = session
.createSQLQuery("""Select 'Hello World!' from dual""")
.setResultTransformer(ToListResultTransformer.INSTANCE)
.list()
tx.commit()
}
catch (Exception e) {
if (tx!=null){
tx.rollback()
}
throw e
}
finally {
session.close()
}
println result
sessionFactory.close()
}
static initHibernate(){
return new Configuration().configure().setProperty("hibernate.show_sql", "true").buildSessionFactory()
}
}
出力:
Hibernate: Select 'Hello World!' from dual
[[H]]
ToListResultTransformer は、文字列全体を印刷するための私の最新の試みでした'Hello World!'
が、IMO は必要ありません。しかし、何を試しても「H」が常に結果になります。
「Hello World」文字列全体を返すにはどうすればよいですか?