只需在视图上执行本机查询,就会得到
List
Object[]
每个列的标量值作为结果。根据文件:
标量(值)列表。
sess.createSQLQuery("SELECT * FROM CATS").list();
sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").list();
对象[]
)使用标量值
对于CATS表中的每一列。
ResultSetMetadata
推断实际的顺序和类型
以避免使用
,或者只是
更明确的是返回什么,一个
addScalar()
:
sess.createSQLQuery("SELECT * FROM CATS")
.addScalar("ID", Hibernate.LONG)
.addScalar("NAME", Hibernate.STRING)
.addScalar("BIRTHDATE", Hibernate.DATE)
这将返回对象数组,但是
结果元数据
但我会的
出生日期列分别作为
长的,弦的和短的
只有这三列
使用*可以返回比
三列。
可以省略类型
所有或部分
标量。
sess.createSQLQuery("SELECT * FROM CATS")
.addScalar("ID", Hibernate.LONG)
.addScalar("NAME")
.addScalar("BIRTHDATE")
这与
以前,但现在
ResultSetMetaData
用于确定名称和
明确指定。
怎么了
java.sql.Types
结果元数据
休眠类型由
方言。如果特定类型不是
映射,或不导致
预期类型,可以
registerHibernateType
在
Dialect
看起来很适合在不了解视图的情况下生成CVS文件:)