你list里面是什么?有没有相关代码?

解决方案 »

  1.   

    public List finds(String hql,int start,int end){
    List list =null;
    try {
    Session session = HibernateSessionFactory.getSession();
    Transaction ts = (Transaction)session.beginTransaction();
    Query query = session.createQuery(hql);
    if(start>0){
     query.setFirstResult(start);
    }
    if(end>0){
    query.setMaxResults(end);
    }
    list = query.list();
    ts.commit();

    } catch (Exception e) {
    e.printStackTrace();
    }finally{

    HibernateSessionFactory.closeSession();
    }
      

  2.   

    Object obj=iter.next();
    System.out.println(obj.getClass());
    输出看一下具体类型. 
      

  3.   

    结果是class [Ljava.lang.Object;类型。
    应该没什么问题啊!
      

  4.   

    也就是说你得到的是一个Object数组类型的,怎么能强制转为Auser类型呢?
      

  5.   

    你的hql用"from Auser"的到list用一个泛型的List<Auser>接收,不会出错就应该可以了
      

  6.   

    Auser类对应的xml映射 查看下,贴出来 
    跟你数据库表对应的是否一致?
      

  7.   

    <hibernate-mapping>
        <class name="com.hibernate.pojo.Auser" table="A_user" schema="U_KSJH" lazy="false">
            <id name="id" type="java.lang.Long">
                <column name="ID" precision="8" scale="0" />
                <generator class="identity" />
            </id>
            <property name="name" type="java.lang.String">
                <column name="NAME" length="10" />
            </property>
            <property name="pwd" type="java.lang.String">
                <column name="PWD" length="8" />
            </property>
        </class>
    </hibernate-mapping>
    没问题啊!
      

  8.   

    hql写的是select * from么?
    是否sql没取到所有字段
      

  9.   


    public List finds(String hql,int start,int end){ 
    List list =null; 
    try { 
    Session session = HibernateSessionFactory.getSession(); 
    Transaction ts = (Transaction)session.beginTransaction(); 
    Query query = session.createQuery(hql); 
    if(start>0){ 
    query.setFirstResult(start); 

    if(end>0){ 
    query.setMaxResults(end); 

    list = query.list(); 
    ts.commit(); 
    return list;//这里没有返回值么?
    } catch (Exception e) { 
    e.printStackTrace(); 
    }finally{ HibernateSessionFactory.closeSession(); 
    }
    hql怎么写得,还有 你的方法没有返回list 不知道是复制问题还是实际就没有返回
      

  10.   

    有返回值,结果我现在都能取到,只是从list中取某一个值的时候出现的异常.
      

  11.   

    个人认为肯定是public List finds(String hql,int start,int end){ 
    方法体里出错,debug跟踪一下,看哪条报错
      

  12.   

    现在的List中是下面的结构是
    elemenData
     [0]=Object[3]
    里面是一个Object数组了
      

  13.   

    强烈bs  ls lz把你hql语句和另外2个参数怎么取得 发出来看看
      

  14.   

    sb.append(" SELECT A.id,A.name,A.pwd FROM Auser A WHERE(1=1)");

    sb.append(" AND A.id ='"+id+"'");
      

  15.   

    Object o = iter.next();先看一下,到底是什么内容
      

  16.   

    应该是接收对象时发生错误;
    可应用如下格式试试:
    while(){
     Object[] rows = (Object[]) iterator.next(); 
            Integer count = (Integer) rows[0]; 
            String author = (String) rows[1]; 
    }