新手问题:如何处理用hibernate读取出来的数据? 如果用Hibernate读取数据,可以不返回一个List而是返回一个ResultSet之类的东西么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是搞BS的,没有用过JTABLE那还是自己写吧,也就是多写点代码而已,而且灵活性也高呀! 建议你看看Hibernate Reference文档,很简单的,我记得是第八章,现在有中文的。 list是可以按照索引取值但是不转化为实体对象是不能取出别的字段值的。另外hibernate查询可以返回list,query,iterator但是没有resultset 不转化为实体对象你怎么取出List中别的字段值呀,还有Hibernate不能返回resultset可以是query,list,iterator Hibernate Reference我有看,不过里面说到返回的,基本就是像 : zhigangsun(流星)说的那样。但是我希望他是可以返回一个表,包含字段和对应的值。那样,我单纯通过这个表就可以提供足够的信息去显示在窗口里,而不需要知道那是什么实体的,那实体包含些什么字段属性;我可以一次循环读取这个表的每个Columnn,而不需要明确指出我在读这个实体的什么属性。不知道大家有没有遇到过这样的问题?是怎么解决的?谢谢 hb本身就是对一个表进行包装,你现在想返回表就直接用jdbc吧; 把分给我吧,完全可以,你的需求和我设计的一个通用分页程序要求一样,不知道是那个表,也不知道有多少个属性,传一个HSQL进去把结果在界面上显示出来,只不过我的分页程序是要显示在网页上,看代码: /** * 用来增加分页数据浏览界面的一行数据 * @param TableHeads 表头格式 * @param TableFormats 表中各数据的格式 * @param QuerySQLString 取出数据的HSQL * @param PageSize 每页有多少条记录 * @param CurrentPageIndex 要显示哪一页 * @return HTML内容 */ private String addTableRows(String[] TableHeads, String[] TableFormats, String QuerySQLString, int PageSize, int CurrentPageIndex) { StringBuffer sb = new StringBuffer(); Session DbSession = null; Transaction Tran = null; Query query = null; Iterator results = null; int i = 0; int currentRowId = 0; try { DbSession = HibernateSessionFactory.currentSession(); Tran = DbSession.beginTransaction(); query = DbSession.createQuery(QuerySQLString); query.setFirstResult(PageSize * (CurrentPageIndex - 1)); query.setMaxResults(PageSize); results = query.iterate(); //results = DbSession.iterate(QuerySQLString); currentRowId = 0; while (results.hasNext()) { Object[] Rows = (Object[]) results.next();//我的代码去掉了,看下面的也是一样的 for(int z=0;z<Rows.length;z++){ System.out.println(Rows[z]); } } } catch (Exception e) { e.printStackTrace(); } finally { try { Tran.rollback(); } catch (Exception e) { } try { HibernateSessionFactory.closeSession(); } catch (Exception e) { } } return sb.toString(); } 如果楼主的程序不要求分页显示,只是一次性把所有记录显示出来,把我的那段程序中注释掉的//results = DbSession.iterate(QuerySQLString);用上就可以了,没有必要使用Query和List EL表达式中Map集合取值 Java反射,Int和Integet类型设置不成功,String可以设置 JTOPEN连接AS400 想模仿百度做一个搜索感兴趣的帖子 我想学struts2,请大家推共荐本好的电子书 是否可以給Stateful Bean指定構造參數,如何實現? struts上传标签的错误,急! 菜鸟问题啊!!那位大虾帮忙了,问题解决马上给分啊(急啊!!。。。) 怎样用hibernate 3将XML数据导入数据库? 求:Struts/Spring/Hibernate框架 如何用服务器为客户端生成的证书与服务器建立ssl连接? 求助java和vb之间通过socket传输数据问题
那还是自己写吧,也就是多写点代码而已,而且灵活性也高呀!
/**
* 用来增加分页数据浏览界面的一行数据
* @param TableHeads 表头格式
* @param TableFormats 表中各数据的格式
* @param QuerySQLString 取出数据的HSQL
* @param PageSize 每页有多少条记录
* @param CurrentPageIndex 要显示哪一页
* @return HTML内容
*/
private String addTableRows(String[] TableHeads, String[] TableFormats,
String QuerySQLString, int PageSize, int CurrentPageIndex) {
StringBuffer sb = new StringBuffer();
Session DbSession = null;
Transaction Tran = null;
Query query = null;
Iterator results = null;
int i = 0;
int currentRowId = 0;
try {
DbSession = HibernateSessionFactory.currentSession();
Tran = DbSession.beginTransaction();
query = DbSession.createQuery(QuerySQLString);
query.setFirstResult(PageSize * (CurrentPageIndex - 1));
query.setMaxResults(PageSize);
results = query.iterate(); //results = DbSession.iterate(QuerySQLString); currentRowId = 0;
while (results.hasNext()) {
Object[] Rows = (Object[]) results.next();
//我的代码去掉了,看下面的也是一样的
for(int z=0;z<Rows.length;z++){
System.out.println(Rows[z]);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
Tran.rollback();
} catch (Exception e) {
}
try {
HibernateSessionFactory.closeSession();
} catch (Exception e) {
}
}
return sb.toString();
}
//results = DbSession.iterate(QuerySQLString);
用上就可以了,没有必要使用Query和List