Hibernate执行原生SQL

Posted 伯牙绝音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate执行原生SQL相关的知识,希望对你有一定的参考价值。

1、查询指定字段

     public List<Object[]> getUseList( Integer index, Integer offset, String state, String search ){

            String sqlSelect = "select user_id, user_name ";
            String sql = sqlSelect + " from users where user_status in (:state) limit :index, :offset";

                SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);
                
                sqlQuery.setInteger("index", index);
                sqlQuery.setInteger("offset", offset);

                String [] stateList = state.split(",");
                sqlQuery.setParameterList("state", stateList);

                search =  "%" + search + "%";
                sqlQuery.setString("userName", search);

                List<Object[]> restList = sqlQuery.list();
            
                return restList;
            }

获取结果集

for(Object[] restArr : restList){
                Map<String, Object> userMap = new HashMap<>();
                Integer userId = (Integer) restArr[0];
                String userName =  (String) restArr[1];
}

 

以上是关于Hibernate执行原生SQL的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 原生 SQL 错误

Hibernate SQL查询 addScalar()或addEntity()

Hibernate 关于执行sql查询语句(转)

第十一节:Hibernate 原生Sql

Mybatis与Hibernate不同处

Hibernat 原生SQL运行结果集处理方法