Re: [站內] 找工作真的很難
※ 引述《Lordaeron (Terry)》之銘言:
: 不好意思, 我有提出問題, 你們都回答了.
: 但你們有提出它的benefit 嗎?
: 我也提出質疑, 你既然要會SQL, HQL, hibernate 整個架構
: 整整多了一倍的功夫, 請問它為你帶來的效益是什麼?
OR Mapping 顧名思義是幫你做
Object and Relational (DB) 的 data mapping.
要是你的系統有對 persistence layer 和
business layer 作 decoupling 你該會明白
這在 solve 的是什麼.
: 所以是為觀念而做的調整, 而不是視實際狀而做的?
: 我是一位不信oo model, xx model的能為你帶來xx, yy 的人
我不明白你所謂為觀念而做而非為實際狀況而做是什麼意思.
persistence layer 和 business layer decoupling 這
種極基本的 design philosophy 有什麼 "不視實際狀況"呢?
: 我是沒試過什麼大同小異的sql 會在不同的程式中出現.
: 希望你的大同小異和我的大同小異是類似的定義吧.
要是你沒有define domain model, 沒有企圖去作
persistence-business layer 的 decoupling,
作的都是 DB-oriented 的設計, 或者你不會有這種
問題.
否則的話, 你不會不了解寫一堆 JDBC DAO, 每個都要做
enquiry 然後再把 resultset 放回一個個 domain object
這種重覆的工序, 請問, 它 automate 你的 relational
result <-> object model 的 mapping, 是不是有它的價
值?
: : 東西塞進 domain model, 或者要兼顧 concurrent
: : update 時的問題 ( => 處身在問題中). 這
: : 時你才能體會 Hibernate 等的 OR Mapping
: : framework 究竟在解決你什麼問題、它的價
: : 值是什麼.
: 完全沒有想過什麼concurrent update 的問題.
: 只要同時抓到同一筆資料, 要同時做更新.
: 本來就是有後蓋前的情形, 如果是帳務類, 扣, 沖, 入帳的問題.
: 就比較奇怪了, 這個東西, 丟到一個queue 中讓它順序去做不就好了?
: 再不然, 就是row lock 而已, 不過有db 不support row lock就是了.
transaciton based 當然可以這樣做.
但如果是大家retrieve 同一個 record, 你改了 field A
我改了 field B, 你不理會 concurrent update 的話
你改的東西就消失了. 當然你可以自己在 table 再加 sequence
number 再在 update 前檢查一下有沒有人在之前 update
過, 但這種 optimistic concurrency strategy, 不少
OR Mapping framework 已經幫你做了一大部份了, 請問,
這是不是有它的價值?
: : 無疑沒有一個 framework 能解決所有問題,
: : 所以才要選擇 framework, 因應自己要解決的問
: : 題來選適當的解決方法, 而不是一直企圖證
: : 明某framework 不是一把萬用刀而否定其存在價
: : 值.
: : Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
討論串 (同標題文章)