Re: [問題] Hibernate 多年來的疑問

看板java作者 (墳都買不起了還想買房)時間12年前 (2013/04/01 10:44), 編輯推噓1(1010)
留言11則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《lookjohn (《經濟狀況》赤貧)》之銘言: : public class BeanASimple{ : private Long id; : private String field1; : private String field2; : get , set .. : } : 這兩隻 皆指到 TableA (不管事用annotion或是ORM).. 任何情況,只要碰到有共享資源的情況下,都會有concurrency的問題 所以其實不用另外再建一個實體hibernate bean,也可以有類似的效果 常用來處理Group By 後的結果 HQL: select new xxx.yyy.zzz.BeanASimple(id, field1, field2) /* full class name */ from BeanA .... /* 使用HQL BeanASimple 必需有對應的Constructor */ Criteria: List list = session.createCriteria(BeanA.class) /* 資料來源Bean */ .setProjection(Projections.projectionList() /* 欄位對應 */ .add( Projections.property("id"), "id" ) .add( Projections.property("field1"), "field1" ) .setResultTransformer( /* 轉換到對應的class */ new AliasToBeanResultTransformer(BeanASimple.class) ) .list(); : === : 想請教: : 使用語法 : "From TableA where 1=1" ; query.setMaxResults(1000); : 在同樣10000筆的查詢之中,我使用的BeanASimple 的情況 是否優於BeanA? : 是否下列幾個條件皆有比較好: : 1.查詢效率 : 2.記憶體的佔用率 : 3.多人同時查詢的情況 : 這是我個人的認知,就觀念上不知是否是正確的或是有相對的謬論存在, : 請各位大大不吝指教..:) 理論上不管各種情況,BeanASimple 的結果都會優於BeanA的 不過我會建議你試試看去比較StatelessSession跟Session 出來的差異 Stateless 不一定會比較快喔!! 還是要看你的設計 以上,只是提供你一個不另外開新的hibernate bean的參考 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.20.106

04/01 12:56, , 1F
但在Beginning Hibernate中,卻提到這種做法的需注意事
04/01 12:56, 1F

04/01 12:58, , 2F
項是 but make sure you don't have to retrieve additi
04/01 12:58, 2F

04/01 13:00, , 3F
onal columns for the entire result set 'later', or
04/01 13:00, 3F

04/01 13:02, , 4F
your optimizations may actually decrease performance
04/01 13:02, 4F

04/01 13:05, , 5F
即然原本的Class還在, 那麼它應該也有被使用到的一天
04/01 13:05, 5F

04/01 13:06, , 6F
有人知道關於"later"的影響的實際例子? 實測結果?
04/01 13:06, 6F

04/01 15:34, , 7F
咳..我去翻這段出來看了..整段真的就這句later跨某...
04/01 15:34, 7F

04/01 15:36, , 8F
我也不太能理解文中描述的情況,同請賜教!!
04/01 15:36, 8F

04/01 15:41, , 9F
http://ppt.cc/eiZF (google books 提供的片段)
04/01 15:41, 9F

04/02 21:26, , 10F
也就是說BeanASimple 不用特別在mapping Table而單純使用
04/02 21:26, 10F

04/02 21:31, , 11F
一個Bean 來做一個精簡的轉換,感覺這樣也挺省事的
04/02 21:31, 11F
文章代碼(AID): #1HMFIZyn (java)
文章代碼(AID): #1HMFIZyn (java)