Session session = sf.openSession();
session.beginTransaction();
Query q = (Query) session.createQuery("select prog.program_version from ProgramClass prog where prog.program_title='"
+ this.jTxt_search.getText() + "'");
List<ProgramClass> objects = (List<ProgramClass>) ((org.hibernate.Query) q).list();
List list = new ArrayList();
for (ProgramClass prog : objects) {
System.out.println(prog.getProgram_title());
list.add(prog.getProgram_title()); this.jList_title.setForeground(Color.red);
this.jList_title.setListData(list.toArray());
}执行后报java.lang.String cannot be cast to DatabaseADO_TablesJavabean.ProgramClass的错误。
我知道要改类型,但是不知道怎么改,请高手帮忙下,谢谢了。。
session.beginTransaction();
Query q = (Query) session.createQuery("select prog.program_version from ProgramClass prog where prog.program_title='"
+ this.jTxt_search.getText() + "'");
List<ProgramClass> objects = (List<ProgramClass>) ((org.hibernate.Query) q).list();
List list = new ArrayList();
for (ProgramClass prog : objects) {
System.out.println(prog.getProgram_title());
list.add(prog.getProgram_title()); this.jList_title.setForeground(Color.red);
this.jList_title.setListData(list.toArray());
}执行后报java.lang.String cannot be cast to DatabaseADO_TablesJavabean.ProgramClass的错误。
我知道要改类型,但是不知道怎么改,请高手帮忙下,谢谢了。。
List <ProgramClass> objects = (List <ProgramClass> ) ((org.hibernate.Query) q).list();这句就不对吧。
查询出来的结果应该是数组的集合才对吧。
返回的是一个Object的List,好像不能直接这样进行强制类型转换。
List objects = ((org.hibernate.Query) q).list();我一般的用法是:Iterator iter = q.list().iterator();
while (iter.hasNext()) {
ProgramClass obj = (ProgramClass) iter.next();
// ........
}
+ this.jTxt_search.getText() + " ' "); 改( " from ProgramClass prog where prog.program_title= ' "
+ this.jTxt_search.getText() + " ' ");