Не удается заполнить поле jcombo при использовании Hibernate - PullRequest
0 голосов
/ 09 марта 2012

Я использовал эти операторы для заполнения jcombobox из таблицы базы данных MySql, используя Hibernate

    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 не позволяет этого. Я хочу знать, что это такое. Надеюсь на вашу помощь. Спасибо !!!

1 Ответ

2 голосов
/ 09 марта 2012

Запрос from Item items, как указано в сообщении об ошибке, не возвращает Object[] экземпляров. Возвращает Item экземпляров.

Если вы хотите, чтобы ваше поле со списком содержало экземпляры Item, просто используйте

for(Iterator it = query.iterate(); it.hasNext();) {
    Item item = (Item) it.next();
    jcbItemCode.addItem(item);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...