论坛首页 入门技术论坛

怎样将查询结果映射到多个POJO中去

浏览 2902 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-04-24  
    假设有两个表:Device、Area,它们之间通过areaid关联,对应的VO也为Device、Area,现在有这样的一条SQL语句:select d.name, d.status, a.name from deviceid d, area a where d.areaid=a.areaid and d.id=11,现在怎样通过queryForObject把结果映射到VO里去,还是根本就不可以?
    如果SQL语句没有a.name的话我把resultMap设为Device类型就可以了,现在出现了一个与Device类无关的字段,我该怎么做?
   发表时间:2007-04-24  
我的方法是再创建一个vo
0 请登录后投票
   发表时间:2007-04-24  
只创建完全对应表的VO 这个架构本身就是有问题的
0 请登录后投票
   发表时间:2007-04-24  
ddandyy 写道
只创建完全对应表的VO 这个架构本身就是有问题的

  但area名称是与device没有直接关系的啊,如果在Device VO中加入area名称的话那样会导致VO膨胀,而且那样做也不符合我们常见的做法啊,如果查询时还有area其它的字段怎么办,有10个字段就在Device VO中加10个变量?
0 请登录后投票
   发表时间:2007-04-24  
既然对提供的查询结果有需求的话
就再建立一个bean是最好的方法,其变量就是你所需要的变量
0 请登录后投票
   发表时间:2007-04-24  
引用

  但area名称是与device没有直接关系的啊,如果在Device VO中加入area名称的话那样会导致VO膨胀,


引用
假设有两个表:Device、Area,它们之间通过areaid关联




引用
而且那样做也不符合我们常见的做法啊,
0 请登录后投票
   发表时间:2007-04-24  
ddandyy 写道
引用

  但area名称是与device没有直接关系的啊,如果在Device VO中加入area名称的话那样会导致VO膨胀,


引用
假设有两个表:Device、Area,它们之间通过areaid关联




引用
而且那样做也不符合我们常见的做法啊,
请多多指教,device中是可以加个areaid,但把其它的一股脑也加进来不好吧,假如还有地区编码、地区负责人等等,也把它们加到Device VO中去吗?如果是架构的问题请指点一下,小弟不胜感谢。
0 请登录后投票
   发表时间:2007-04-24  
goschen 写道
既然对提供的查询结果有需求的话
就再建立一个bean是最好的方法,其变量就是你所需要的变量

现在就是不想建这么多的bean,想找个捷径,这样的查询在项目中很多,每次都去新建一个bean会增加很多的工作量啊,还有现在也不是重新写一个项目,而是对以前写的旧项目进行改造,可能得考虑多方面的因素
0 请登录后投票
论坛首页 入门技术版

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