我有一个非常简单的 Groovy 类,我只是想通过 Hibernate 3.3.2 GA 使用本机 SQL 查询从 Oracle 11g 数据库中选择一个字符串。它看起来很简单,但我无法理解我得到的结果。这是代码:
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”字符串?