使用Hibernate时无法填充jcombobox

时间:2012-03-09 17:56:49

标签: java mysql hibernate netbeans

我已使用此语句使用Hibernate

从MySql数据库表填充jcombobox
    String SQL_QUERY ="from Item items";
        org.hibernate.Query query = session.createQuery(SQL_QUERY);
        for(Iterator it=query.iterate();it.hasNext();){
        Object[] row = (Object[]) it.next();
        jcbItemCode.addItem(row[0]);
        }

这里的项目是我的班级名称& items是我的数据库表名。但NetBeans提供了如下错误:& jcombo框没有填充。

INFO: schema update complete
Hibernate: select item0_.itemid as col_0_0_ from items item0_
eretailer.Item$$EnhancerByCGLIB$$99948c46 cannot be cast to [Ljava.lang.Object;

如何更正此问题。我搜索过但找不到合适的答案。 我之前使用过这种方法......

String SQL_QUERY = "Select items.iid,items.idiscription,items.iprice from Item items";
          org.hibernate.Query query = session.createQuery(SQL_QUERY);
          for(Iterator it=query.iterate();it.hasNext();){
          Object[] row = (Object[]) it.next();
          jcbItemCode.addItem(row[0]);
          }

这很完美。

也许Net beans不允许这样。我想知道究竟是什么。希望你的帮助。 感谢!!!

1 个答案:

答案 0 :(得分:2)

如错误消息所示,查询from Item items不会返回Object[]个实例。它返回Item个实例。

如果您希望组合框包含Item实例,请使用

for(Iterator it = query.iterate(); it.hasNext();) {
    Item item = (Item) it.next();
    jcbItemCode.addItem(item);
}