作者adrianshum (Alien)
看板java
标题Re: [站内] 找工作真的很难
时间Tue Jun 12 18:50:52 2007
※ 引述《Lordaeron (Terry)》之铭言:
: 以上两个只能叫hibernate 的Bug.
: 而不是benefit/advantage, drawback/disadvantage
: 给个题目吧:--假设资料量都是很大的.--
: 父表father和子表child,我现在查询child的资料,表格中需要显示每个child的father名称
: ,如果按sql的写法,就可以只在sql中取father名称(cname),
: 如:select c.*, f.cname as fathername from child c join father f ......
: 如果用hibernate 呢?
我明白你想说是什麽.
不过这理论未必成立.
一般较为大型一点的 app, 特别是 multi-tier
的 app, 中间处理通通都是基於本身己有的 domain model,
再经过一些预先定义好的 data access layer (DAO etc)
假设本身的domain model 根本就是 Child 里面有 Father
的 ref, 你经 JDBC 也好 Hibernate 也好, 也是避免不了
这些 "无谓" 的资料. 要是你已定义了 Child 里面存
着 Father 的 name, 也不会因你用 Hibernate 或 JDBC
而有很大的分别. Hibernate 甚至能有 Lazy Fetching
把不常要的资料在真的 access 到时才 fetch
说 Advantage Disadvantage 反而是 Hibernate 这类
工作方式适不适合你的系统. 比如很多 backoffice 系统
需要做大量 data 的 update 或搬移, O-R mapping 的 solution
要你把东西都取出, 修改, 再 save. 而DB Oriented 的方法
则只是一句 update/insert/delete, 後者当然适合.
但对於很多 transactional 的 app, 工作模式都是取需要
的 object 再修改再 save 或作 enquiry etc, Hiberate
则很切合.
你整天都在说 Framework 只能在 Frame 里 Work,
我则会说, Framework 是在 Frame 里就能 save my work.
Alien
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.22.246.26
※ 编辑: adrianshum 来自: 202.22.246.26 (06/12 18:52)