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个回答

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

iteye_5117
iteye_5117 非常感谢了。。。。
7 年多之前 回复
jinnianshilongnian
jinnianshilongnian 1、Spring大大,第一个问题我觉得既然这样还不如不使用Hibernate 这个其实如果数据量小可以用 但如果公司不规范 开发人员水平层次不齐 很难做好关联 因此还不如不用 我们其实主要用了hibernate的ORM 2、第三个问题我补充到了问题上面,您那句“ 如果是多的话”我该怎么理解啊?我这种情况,直接取回Model不合适吧?比较取回一个对象,里面的其他数据没有包含在里面啊, 比如1w条或更多 这种情况就不合适 如用户 角色(角色和用户之间是多对多) ResultTransformer 等 自己google下找找例子
7 年多之前 回复
iteye_5117
iteye_5117 你好,Spring大大,第一个问题我觉得既然这样还不如不使用Hibernate,而且我里面每次查询基本上都要自己写SQL,完全不能使用hibernate的功能特性,因为都没有做映射关系,每张表都是自己在做自己的关系维护。 第三个问题我补充到了问题上面,您那句“ 如果是多的话”我该怎么理解啊?我这种情况,直接取回Model不合适吧?比较取回一个对象,里面的其他数据没有包含在里面啊, ResultTransformer 或者Hql中直接NEW对象这两种方法还没有用过?能说说吗?或者你的blog里面有吗?我自己去看。
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐