只想看一个例子, getSession().createSQLQuery("select * from dbo.member").addEntity(Member.class).list(); Session通过createSQLQuery创建Native SQL Query接口,参数是一句sql, addEntity是添加返回的持久类,SQLQuery仍然会按照Member.hbm.xml的配置文件来组装结果集。所以上面这句话将返回所有Member.
如果不addEntity呢? 不加返回的持久类类型,则返回的list里面的每个元素都是一个对象数组.对象数组的每个值就是对应的column的值.
个人觉得Hibernate本身就是站在面向对象的角度解决持久化的问题,如果再用SQL Query,还不如用jdbc.所以关于native query,我没有深入学习。