iteye_5117 2012-09-24 11:56
浏览 233
已采纳

Hibernate未使用关联模型的多对象查询

现在在公司实习了两个星期了,对于公司代码也熟悉了一点,不知道公司领导怎么想的。下面我说明一下情况。
现在我们做的是一个汽车行业的ERP系统,
ORM使用的是Hibernate3.5
关于模型这块,项目经理说不能让用@OneToMany @ManyToMany等等对象关联映射,这样对性能有影响(我个人觉得,首先抛开代码质量不说,这个项目的数据量应该是不用这个方法来提高性能的,你优化一下Hibernate,使用二级缓存我觉得就足够了)而只能直接加一个int字段来指定关联ID。
然后我们就痛苦了,比如一张订货单,
在订货单里面指定了品牌,用途,制造商,颜色,等等信息,都是用的指定ID方式,
当我在页面当中要显示出来的时候,除非信息都在一张表(相当于HQL也只能用在一张表包含需要信息的情况下),要不然就得自己写SQL放到封装好的一个工具类里面得到一个List;
然后得新建一个VO,把你包含的所有信息用for循环遍历出来一个object[]
在根据数据查询中的下标来转型数据,放入VO中
页面当中也是不能使用原来的实体了。(其实用Model1.Model2.Filed1这种方式多方便啊)
得用VO,真的不知道PM不让用关联映射的理由何在?各位有碰见过这种情况吗?你们碰见又是怎么解决的啊?

关于未指定关联对象,只有ID字段的多对象关联查询你们有什么好一点的办法没有啊?

  • 写回答

1条回答

  • jinnianshilongnian 2012-09-24 12:16
    关注

    1、不让用是有道理的,万一一个one to many 加载了很多数据 就很崩溃的。
    2、many to one 是可以用的 ;
    3、你说的List; 然后得新建一个VO,把你包含的所有信息用for循环遍历出来一个object[] 这个情况不知道你取回来的是什么 如果是多的话 不需要这样 直接取会model即可,,或者采用ResultTransformer 进行转换 或者 HQL中直接new 对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置