作者tsumarahi (kapa)
看板java
标题Re: [站内] 找工作真的很难
时间Fri Jun 15 01:16:41 2007
※ 引述《Lordaeron (Terry)》之铭言:
: ※ 引述《tsumarahi (kapa)》之铭言:
: : 哈哈,我可没说hibernate万岁,第一名,哪只眼睛看我说hibernate非常好?
: : 我只是要说你举的例子超烂XD...
: : 求救,不好意思,我常在www.javaworld.com.tw发言,所以比较少上ptt java板
: : 这次会PO文就是怕你误导人
: : 如果别人真的相信你写的,还真的以为不能partial select呢...
: : 好处唷,我这次PO文只是单纯想回你烂例子,所以我应该没有义务要回
: : 哇哈哈,我想你也没兴趣:p
: : 我很喜欢看不好的例子,我也支持hibernate不是最好,
: : 我回文再提一次,我只是...想说你那例子不适当,谢谢惠顾
: 适不适当, 随你怎麽看, 你也大可以说, 用hibernate 我最最大不了就是
: 用native SQL, 也没什麽辨不到的. 如果是这样, 请问你花时间去hibernate
: 做什麽?
: 要吵hibernate 的好坏, 刚好找到一堆人在吵的地方.
: http://robbin.javaeye.com/blog/24360?page=1#comments
: 其它有人提出一个比我好的scheme:
: -----------------------------------------------------
: 例如有个业务场景,Department和Employee是一对多关系。现在我
: 对Department进行分页查询,要求在显示的页面上同时显示每
: 个Department中Employee的数量。这是一个很简单的业务场景,
: 但是想像一下如何用hibernate进行映射?
: 首先否定一种做法:hql:FROM Department department。然後针对每
: 个department,去做department.getEmployees().size()。
: 这样不仅会发送n+1条SQL,而且性能太低。
: 我们肯定希望采用一句HQL解决问题,但是此时问题来了,当你
: 试图做SELECT department, count(employee.id) FROM .....
: 这样的HQL时,在Java端,发现没有一个合适的对象可以映射。
: -----------------------------------------------------------
唉..看文章要看完,後面都有人提怎麽解了
只是解能不能接受的程度罢了
一种使用constructor,新增一个constructor,然後回传就可以.
别像里面的人提到什麽不能重复利用,什麽东西做出来都考虑重复利用,
那别写程式了.可以利用的当然重复利用,但是有些东西为了效能跟方便考量
得另外特化那就得特化.
另外前端有没有合适的mapping, 这..坚持一定要mapping成物件?
脑筋太死了.乾脆说为什麽没有东西代表select count(*)好了.
用了OR mapping难道捞出来的资料一定得是OO?
因为用JDBC所以不用OO没关系?这什麽鸟逻辑?
framework只是个一个更大的pattern,也是tool,不是个枷锁.
(当然如果功能不够时确实是枷锁哈哈哈)
说真的,人都爱看自己想看的,看完全部讨论吧
真那麽烂robbin还会说目前最好的就是Hibernate了吗,
robbin现在可是嫌它嫌很大(他的心已经被ROR拿走了..哭哭).
会说如果利用Java开发他会选hibernate/spring/ww吗?
另外这是2006的,2007我记得也还有不错讨论可以看,可以去javaeye看看
robbin在今年的gavin去中国时也另外做了优化投影片
看看人家认真研究懂得评估,也举的出好例子
我并没有否定hibernate的不完美,很多framework都不完美
我也支持不理解乾脆不要用,不然只是制造麻烦
我只是回你,你的例子很烂,不需要跟我说hibernate哪边不好,
他有很多可以提的地方...我只是怕你误导人,所以提醒你那句hql
在hibernate做得到.
--
※ 编辑: tsumarahi 来自: 140.138.150.67 (06/15 01:35)