select aa.accountId,a.userName,a.ispotency,a.registerData,aa.accountName,
aa.sex,aa.nickname,aa.birthday,aa.address,aa.chinamobile,aa.telephone,aa.email,aa.city
红色部分是不是应该改成a.accountName,不然可能转不过来啊
aa.sex,aa.nickname,aa.birthday,aa.address,aa.chinamobile,aa.telephone,aa.email,aa.city
红色部分是不是应该改成a.accountName,不然可能转不过来啊
得到的是Object[2]{Account对象,AccountAttributelist对象}楼主这样,得到的应该也是Object[]
先测试,输出allList.size(),看里面有没有值;
如果是0,大部分可能是你SQL语句有问题,如果不为0,就是类型转换有问题;
不过你要先测试下,程序是调出来,猜不出来滴~~
aa.sex,aa.nickname,aa.birthday,aa.address,aa.chinamobile,aa.telephone,aa.email,aa.city
红色部分是不是应该改成a.accountName,不然可能转不过来啊我要查的就是两个表里不全的数据.合成一个BEAN好操作啊...
用select a,aa from ....
得到的是Object[2]{Account对象,AccountAttributelist对象} 楼主这样,得到的应该也是Object[]
这个兄弟你应该知道怎么改吧..你说的好象有道理哦..
List <AccountForm> allList = (List)allAccount();
accountForm=allList.get(0);
accountForm.getAccountId();你这么写试试看~~
你用泛型类,不需要强转了!~
List <AccountForm> allList = allAccount();
accountForm=allList.get(0);
你用泛型类,不需要强转了!~
List <AccountForm> allList = allAccount();
accountForm=allList.get(0);
试了.不行哦```哎```
得到就是Object[2]用list.get(0)[0].class测试一下
List list= (List <AccountForm>)getHibernateTemplate().find("select aa.accountId,a.userName,a.ispotency,a.registerData,aa.accountName,aa.sex,aa.nickname,aa.birthday,aa.address,aa.chinamobile,aa.telephone,aa.email,aa.city from Account as a,AccountAttributelist as aa where a.accountId = aa.accountId order by a.registerData desc");
Object[] objArray = null;
for(int i = 0;i < list.size();i++){
objArray = (Object[])list.get(i);
}
reutrn objArray
}
转换当然有问题了~
面壁,面壁
Iterator it=allList.iterator();
while(it.hasNext())
{
Object[] ob=(Object[])it.next();
System.out.println(ob[0]);
}
就不能用List <AccountForm>......
全给你写上一遍好了...再说跟赋值有什么关系...public Object[] allAccount(){
//此处用普通的list,不需要泛型
List list= getHibernateTemplate().find("select aa.accountId,a.userName,a.ispotency,a.registerData,aa.accountName,aa.sex,aa.nickname,aa.birthday,aa.address,aa.chinamobile,aa.telephone,aa.email,aa.city from Account as a,AccountAttributelist as aa where a.accountId = aa.accountId order by a.registerData desc");
Object[] objArray = null;
for(int i = 0;i < list.size();i++){
objArray = (Object[])list.get(i);
}
reutrn objArray
} Object[] objArray = allAccount();
for(int i=0;i<objArray.length;i++){
if(objArray[i] instanceof AccountForm){
//因为是复合语句,出来对象不只是AccountForm的数据,
AccountForm form= (AccountForm)objArray[i];
System.out.print(form.getAccountId());
}
objArray = (Object[])list.get(i);这一行就已经报错了````