我已使用此语句使用 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/