论坛首页 Java企业应用论坛

hibernate 中可否实现jdbc中按字段名取值的功能?如resultSe...

浏览 5877 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-09-23  
hibernate 中可否实现jdbc中按字段名取值的功能?如resultSet.getString("ID")?
对多表查询,如select a.id,b.name from a,b where ??
hibernate查询出的是一个iterator对象,只能转化为对象数组,再按序号取值。这样很不方便。因为字段少的时候代码可读性还可以,但如果一次查询出几十个字段来,序号就无法明确表示了。
   发表时间:2003-09-23  
引用

但如果一次查询出几十个字段来


那为什么还要用
select a.id,a.name,a.... from A a
这种方式呢?
用from A a不就好了。
0 请登录后投票
   发表时间:2003-09-23  
我说的是多表查询的情况,查询结果并不能实例化为一个类的。所以也不能用get()set()方法。
难道要我每一个查询结果都去实例化一个类不成?那也CMP没什么区别吧?
这样的情况在进行综合查询分析的时候会经常遇到的。
0 请登录后投票
   发表时间:2003-09-23  
A表有字段a,B表有字段b,C表有字段c.
我要把A.a,B.b,C.c全部查询出来,试用还需要另建一个类,把A.a,B.b,C.c字段全放进去不成?
查询条件是灵活设置的,不是预先设置好的。
0 请登录后投票
   发表时间:2003-09-23  
通过对象之间的关联,比如
a.getB().getB()
a.getB().getC().getC()
0 请登录后投票
   发表时间:2004-03-09  
我也碰到这个情况,按对象关联的方式是可以实现,但是比如我三个对象都有很多字段,而我每个对象只要其中的一个属性就行了,如果用上面这中方式的话性能会不会很差?
还有,有没有办法让HB构造Select SQL语句的时候只查询我要的某个字段呢?
比如A对象有10个属性(字段),在某个时候我只想得到A.name属性,那么我希望HB这样生成SQL:select a.name from A a,请问可不可以,怎么配置?如果每次都把整个对象所有字段Load出来,而对我来说其他属性没有用处,会不会影响性能?

我刚开始研究Hibernate,希望能帮帮忙!
0 请登录后投票
   发表时间:2004-03-09  
哦,我看了HB的文档了,原来用HQL可以实现我的想法,现在的问题就和楼主一样了,因为返回一个对象数组,它为什么不返回一个Object ,而这个Object只填充指定的属性呢?
比如:
  select dev.id,dev.name from Device dev

返回的 List中的实体是一个Object[],为什么不能是Device的实体(其中只填充了id和name属性)呢?
0 请登录后投票
   发表时间:2004-03-10  
Use "SQL based Query",Hibernate supports it.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics