我在做一个struts+hibernate的项目.当客户登录提交表单后,程序执行到query.list()的时候页面直接变成了IE默认的HTTP404错误页面(struts配置文件没有错误检查很多遍了)下面是我DAO的代码:public class BaseDAO extends AbstractDAO { private static Session session = HibernateSessionFactory
.getCurrentSession(); public BaseDTO addObject(BaseDTO object) throws BookStoreException {
if (object == null)
throw new BookStoreException("object is null");
session.save(object);
session.close();
return object;
} public List findByHql(String hql){
Query query = session.createQuery(hql);
return query.list();     //程序执行到这里就出问题了
}

public Item getItem(String id){
return (Item)session.get(Item.class, new Integer(id));
}}有个奇怪的现象,我的HQL是"from User where ...and ..."这样,当我把映射对象类换成别的类就能正常.如果是我的映射有问题的话hibernate初始化的时候应该就报错吧,但是没有!  请各位帮忙看看吧

解决方案 »

  1.   

    我觉得该是你的HQL语句有问题。把你的HQL语句贴出来看看。另外:你的Hibernate用的很不规范,一些session的打开和事务的处理做的很不好。
      

  2.   

    你的问题是HQL出错了=号后面要有个空格
    String hql= "from Class s where s.id....."
      

  3.   

    1L:代码没有问题,也没有报错;
    2L:TOMCAT控制台没有任何异常现象;
    3L:我打印过HQL语句,提取用户登录信息后的SQL语句为:“FROM USER WHERE LOGINNAME=‘页面的取值’ AND PASSWORD=‘页面的取值’”(我在这里没有区分大小写);
        HIBERNATE用的是不太规范,请多些指点好吗?
    4L:USER表里不管有没有数据都是这种情况;
    5L:等号后面要有空格?这有关系吗?
      

  4.   

    你的hibernate是几版本的3的就要空格
      

  5.   

    HTTP404错误 是指 未找到页面。
    也许问题并不出在你的hql语句,而是当客户登录提交表单后返回的页面未找到,检查下struts返回的页面,路径,名称,大小写等。
      

  6.   

    我的hibernate是3.1的;
    路径没有问题.我说过了,把User类换成别的就可以执行查询.
      

  7.   

    神奇  User在PO和hibernate配置文件中都有相应的声明和关系映射吧?  我新手  楼主 解决了麻烦说下~~~~~
      

  8.   

    http400确实是页面未找到错误,还是耐心对比下看。要不贴上来一起看看?
      

  9.   

    HTTP404错误 是指 未找到页面。 
    也许问题并不出在你的hql语句,而是当客户登录提交表单后返回的页面未找到,检查下struts返回的页面,路径,名称,大小写等。 
     
      

  10.   

    不是返回的问题.我试着在action里面打印过.程序执行query.list()后就出现这个问题了,后面的代码都没有运行.更不会执行到 return mapping.getInputForward()这句话.所以说跟配置文件没有关系.
      

  11.   

    我tomcat的LOGS里没有记录这个日志.最近的一次记录都是8月15号的,而且内容是空白.很奇怪
      

  12.   

    你可以把你打印出的hql拿出来改造成对应的sql到数据库中直接执行观察一下
      

  13.   

    session是否是NULL值,会不会已经被你close
    页面404你可以试一下return mapping.findForward()
      

  14.   

    20楼的兄弟,还真是有问题.执行错误,但是我不知道为什么.没有任何附加条件的查询都报错,select * from user我看不出这句话有什么问题.这是怎么回事?
      

  15.   

    楼上许多朋友觉得我session的打开和事务的处理得不好,hibernate我刚接触不久.我应该怎样改进我上面的DAO类呢?