List userList = this.getHibernateTemplate().find("from Test");
你要把它轉乘test對象啊
====================
while(it.hasNext()){
Test xxx=(Test)it.next();

解决方案 »

  1.   

    也可能你寫的不是test是別的名字,但formbean和表名對應的原則,你應該用Test
    你去看下
    反正要轉成你用的那個對象才行
      

  2.   

    view我沒用過view,因為不需要
    你試試看給view單寫個formbean試試看?
      

  3.   

    雖然可能工作量大了點,但view應該也是一種table吧,應該需要定義的
    我推測哦
      

  4.   

    其實,何必用hql從view來查呢?
    你完全可以自己寫sql,然后就靠你自由發揮吧
    無論是createsqlquery還是直接在dao里面寫都可以的
      

  5.   

    1 所以在映射文件里把所有的字段都當成了主鍵我不知道为何不可?你只要把主键设置为assign的类型就可以吧
    至少我在JPA里面没有任何问题。2 List userList = this.getHibernateTemplate().find("from Test");明显返回的是 Test 的列表3 用視圖是因為多表查詢,如果不用視圖,多表查詢如何實現呢?如果你的类关联正确,可以用类的属性来做,比如from Customer c where o.employee.name=? 实际上就是用类的属性来进行查询。 当然,有时候用视图也很好。
      

  6.   

    OrderDailyRepta.java
    OrderDailyReptaId.java
    OrderDailyReptaDAO.java
    OrderDailyRepta.hbm.xml
    是用的视图,复合主键(所有的字段都是主键),两个POJOList list = getHibernateTemplate().find("from OrderDailyRepta");
    //OrderDailyRepta orderRepta = null;用这句也不行
    OrderDailyRepta orderRepta = new OrderDailyRepta();
    Iterator it = list.iterator();
    System.out.println(list.size());
    if(list.size() > 0){
    while(it.hasNext()){
    orderRepta = (OrderDailyRepta)it.next();
    System.out.println(orderRepta.getId());
    System.out.println(orderRepta.getId().getCompanyNo());
    }
    }list.size()显示1588,
    而执行到System.out.println(orderRepta.getId());
    抛出了一个空指针错误,
    能帮忙看看吗? 如果是语法错,请问高手们应该如何改?谢谢
      

  7.   

    问题已解决~~谢谢紫竹也谢谢yami251139.