1. 原生SQL查询
以下代码功能:Hibernate执行原生SQL返回List类型结果集
//获得session对象
Session session = super.getSession(); ?
//创建sql语句
String sql = "SELECT users.name,usersinfo.* FROM users,usersinfo WHERE users.id = usersinfo.userid"; ?
//获得SQLQuery对象
SQLQuery query = session.createSQLQuery(sql); ?//设定结果结果集中的每个对象为Map类型 ? ??query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP); ?//执行查询
List list = query.list();
2. HQL查询
如果部分使用alias,部分不使用,则使用了alias的将使用alias作为key,没有使用的则仍然使用序号代替,其中序号则为在查询结果的序号
String query = "select new Map(p.code as code, p.value) from Dictionary p";
List list = session.createQuery(query).list();
说明:两种方式最后返回的List 都是 Map
希望对你有帮助,如果满意还望采纳。谢谢 !