hibernate--原生SQL查询无法返回对象集合

这是我没有解决之前的:
这里写图片描述

这里写图片描述

然后解决好之后的样子:
这里写图片描述

然后没有解决之前的代码:

(这里我只是查询了部分字段,select 部分字段 from ;)

package com.web.system.dao.impl;

import com.web.base.dao.impl.BaseDaoImpl;
import com.web.system.dao.FunctionDao;
import com.web.system.entity.Function;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class FunctionDaoImpl extends BaseDaoImpl<Function, String> implements FunctionDao {

    @Override
    public List<Function> getFunc(Integer functype, String... id) {
        String sql = "SELECT f.部分字段 FROM tb_system_function f INNER JOIN tb_system_role_function uf ON f.id=uf.FUNCID " +
                "INNER JOIN tb_system_role r ON r.id=uf.roleid WHERE f.status=1 AND f.functype=:funcType AND r.id IN (:ids) ORDER BY f.sortnum";
        Query query = getSession().createSQLQuery(sql);
        query.setParameter("funcType", functype);
        query.setParameterList("ids", id);
        return query.list();
    }
}

解决之后的代码:

(然后我这边查询的就是全部字段 ,select * from ;;;然后在getSession().createSQLQuery(sql)后面接着.addEntity(Function.class),实体类.class)

package com.web.system.dao.impl;

import com.web.base.dao.impl.BaseDaoImpl;
import com.web.system.dao.FunctionDao;
import com.web.system.entity.Function;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class FunctionDaoImpl extends BaseDaoImpl<Function, String> implements FunctionDao {

    @Override
    public List<Function> getFunc(Integer functype, String... id) {
        String sql = "SELECT f.* FROM tb_system_function f INNER JOIN tb_system_role_function uf ON f.id=uf.FUNCID " +
                "INNER JOIN tb_system_role r ON r.id=uf.roleid WHERE f.status=1 AND f.functype=:funcType AND r.id IN (:ids) ORDER BY f.sortnum";
        Query query = getSession().createSQLQuery(sql).addEntity(Function.class);
        query.setParameter("funcType", functype);
        query.setParameterList("ids", id);
        return query.list();
    }
}

然后没有啦!
然后这边并不推荐使用这种方法,因为select * from 是很低级的,数据量大的话这样是很耗费时间的,而且如果被别人看到的话是会被喷的,当然还请大家放过我,这只是我解决问题的一个办法而已。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值