关于S2SH3大框架整合后,hibernate无异常提醒问题。

调用查询数据库操作的时候,HQL语句写错也没有错误提示。其中我的代码封装如下:

hibernate、struts2配置已经整合到spring中。

1.
处理页面传来的值的 action类:
public class ManagerAction extends BaseAction{

@Resource
private ManagerInter managerImpl;
private Manager manager;

public String recManager(){
    String account = manager.getAccount();
    String paswd = manager.getPassword();
    System.out.println(account+"   "+paswd);
    List<Manager> managers = managerImpl.executeQuery("from Manager",account,paswd);
    return "success";
}

public Manager getManager() {
    return manager;
}

public void setManager(Manager manager) {
    this.manager = manager;
}

public void setManagerImpl(ManagerInter managerImpl) {
    this.managerImpl = managerImpl;
}

这段代码中的HQL语句是明显错误,但却没有异常抛出。在HQL语句正确的情况下,是能正常的查询出数据,故已经排除数据库异常,代码错误,没织入spring容器等错误。

2.
这个查询方法是调用了 ManagerInter 接口里的方法,已经织入spring,其中ManagerInter接口代码如下:

public interface ManagerInter extends BaseDaoInter{

//这个接口写入该业务专有方法

}

这个接口是继承了一个基础接口,基础接口代码如下:
public interface BaseDaoInter {
/**
* 查询方法
* */
public List executeQuery(String hql , Object...prameters);
}

其中实现类如下:
@Transactional
public abstract class BaseDaoImpl implements BaseDaoInter{

@Resource
private SessionFactory sessionFactory;

//查询方法
public List executeQuery(String hql, Object... prameters) {
    Query query = sessionFactory.getCurrentSession().createQuery(hql);
    if(prameters!=null&&prameters.length>0){
        for (int i = 0; i < prameters.length; i++) {
            query.setParameter(i, prameters[i]);
        }
    }
        return query.list();
}
}

问:要怎样做才能让错误抛出。
我已经尝试过的方法:
    public List executeQuery(String hql, Object... prameters) {
    Query query = null;
    try {
        query = sessionFactory.getCurrentSession().createQuery(hql);
        if (prameters != null && prameters.length > 0) {
            for (int i = 0; i < prameters.length; i++) {
                query.setParameter(i, prameters[i]);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage());
    }
        return query.list();
}

对这个实现类 进行 异常扑捉,可是不行。
问:怎么办?

1个回答

真没看出你的hql哪里错了?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问