纠结了一晚上的问题!麻烦哪位帮忙解决一下!

我想从一张表中随机读取N条信息出来,并且将这N条数据的ID封装成String放到另一张表去。可是在循环封装ID的时候就报错,以至于自己不能解决了。报错信息为“java.lang.ClassCastException: [Ljava.lang.Object;”,小弟十分感谢,谢谢啦!
以下是我的具体代码:

这个是DaoImple的代码
[code="java"]
public List randWare(final Integer count) throws Exception{

    return (List<Ware>) this.getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session)

        throws HibernateException, SQLException {

            String sql = "select * from ware order by rand() limit "+count+"";

            Query query = session.createSQLQuery(sql);

            return query.list();
        }
    });
}

[/code]

这个是ServiceImpl的代码:
[code="java"]
public String randWare(Integer count) throws Exception{

    List<Ware> list = wareDao.randWare(count);

    StringBuffer sb = new StringBuffer();

    for(Ware ware : list){

        sb.append(",");

        sb.append(ware.getId());
    }

    System.out.println("-------sb------"+sb);

    return sb.substring(1);
}

[/code]

[b]
改为这样试试:(实体类的名称要改为全名称,即带有package名的)[/b]
[code="java"]
String sql = "select * from ware order by rand() limit "+count+"";
Query query = session.createSQLQuery(sql).addEntity(Ware.class);
[/code]

[code="java"]public List randWare(final Integer count) throws Exception{

return this.getHibernateTemplate().execute(new HibernateCallback() {

public Object doInHibernate(Session session)  

throws HibernateException, SQLException {  

    String sql = "select * from ware order by rand() limit "+count+"";  

    Query query = session.createSQLQuery(sql);  

    return query.list();  
}  

}); [/code]

[code="java"]public String randWare(Integer count) throws Exception{

List list = wareDao.randWare(count);

StringBuffer sb = new StringBuffer();

Ware ware = null;

for(Ojbect obj: list){

ware = (Ware)ojb;

sb.append(",");  

sb.append(ware.getId());  

}

System.out.println("-------sb------"+sb);

return sb.substring(1); [/code]

先试试看吧。

[color=red][b]错误在这里:[/b][/color]
[code="java"]String sql = "select * from ware order by rand() limit "+count+"";

Query query = session.createSQLQuery(sql);[/code]
[color=blue]
[b]你采用的是 原生的SQL查询,返回的是数组,不是封装好的Bean对象
[/b][/color]

[b]你可以将上述的查询,改为HPQL的方式。。。[/b]