java - 使用 Hibernate 时无法填充 jcombo 框

标签 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]);
        }

这里的 Item 是我的类名, 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 不允许这种方式。我想知道这到底是什么。希望您的帮助。 谢谢!!!

最佳答案

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

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

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

关于java - 使用 Hibernate 时无法填充 jcombo 框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638738/

相关文章:

java - Apache CXF 2.7 上下文传递问题

hibernate - 如何禁用 hibernate 生成的评论(在对数据库进行反向工程之后)?

java - 使用neo4j spring数据从一个sql表建立关系

java - 在项目外部加载图像

mysql函数返回设置数据

php - 通过PHP将一张表从MySQL复制到SQLite

mysql - 查找 MySQL 表中按非唯一列排序的下 N 行

java - JPA 继承

java - 从 Spring 3 迁移到 Spring 4 时出现 org.hibernate.HibernateException

Java Swing 工具栏