摘要: 一位ID是jackson1225的網(wǎng)友在javaeye詢問了一個(gè)大型Web系統(tǒng)的架構(gòu)和部署選型問題,希望能提高現(xiàn)有的基于Java的Web應(yīng)用的服務(wù)能力。由于架構(gòu)模式和部署調(diào)優(yōu)一直是Java社區(qū)的熱門話題,這個(gè)問題引發(fā)了很多熱心網(wǎng)友的討論,其中一些意見對其它大型Web項(xiàng)目也有很好的指導(dǎo)意義。 閱讀全文
Hibernate相關(guān)
摘要: TSS上面Ganesh同志的文章內(nèi)容是非常有益的,討論了session的這兩個(gè)api的區(qū)別。get是每次都會從數(shù)據(jù)庫取數(shù)據(jù)以保證數(shù)據(jù)的可靠。而load則會返回一個(gè)proxy,相當(dāng)于一個(gè)存根,訪問的時(shí)候從當(dāng)前session或者h(yuǎn)ibernate二級緩存中查找,如果找不到則從數(shù)據(jù)庫中Lazy Load一下。從Hibernate的復(fù)雜性上來說,這個(gè)概念應(yīng)該算比較容易理解的,而且這種存在也是非常合理的。順便里面還補(bǔ)充了一下JPA里面也有類似的getReference方法,行為類似load??赐晡恼履銜_始注意這個(gè)細(xì)節(jié)。
可是,這個(gè)細(xì)節(jié)的下面卻引起了n多人的討論,討論的核心就是Hibernate是不是有太多細(xì)節(jié)了?
很多人說這樣不是OO的,很多人說Hibernate的細(xì)節(jié)造成它復(fù)雜,有人說Hibernate影響了他們的工作效率,等等,反正反對者站出來很多。我想這是可喜的。
說明在Java的Killer-APP組合Spring+Hibernate后面還是有很多持懷疑態(tài)度的人的,我們隨時(shí)都需要提問題的大腦!
所以,我們也思考一下吧: 閱讀全文
可是,這個(gè)細(xì)節(jié)的下面卻引起了n多人的討論,討論的核心就是Hibernate是不是有太多細(xì)節(jié)了?
很多人說這樣不是OO的,很多人說Hibernate的細(xì)節(jié)造成它復(fù)雜,有人說Hibernate影響了他們的工作效率,等等,反正反對者站出來很多。我想這是可喜的。
說明在Java的Killer-APP組合Spring+Hibernate后面還是有很多持懷疑態(tài)度的人的,我們隨時(shí)都需要提問題的大腦!
所以,我們也思考一下吧: 閱讀全文
摘要: 在Hibernate中獲取有關(guān)聯(lián)關(guān)系的pojo。我是指例如一個(gè)User(用戶)擁有一個(gè)many-to-one的屬性Unit(單位),但是有時(shí)有些用戶的Unit屬性為空,如果按單位查詢用戶的時(shí)候那些單位為null的用戶就會被遺漏,如何調(diào)取呢?這本來是很簡單的,但是我想當(dāng)然的使用了Restriction.eq,但是不行,后來看了手冊才發(fā)現(xiàn)應(yīng)該使用Restrictions.isNul。下面是Test代碼... 閱讀全文
摘要: Hibernate的透明持久化用起來非常舒服,有時(shí)甚至忘記了數(shù)據(jù)庫的存在。我身邊的朋友經(jīng)常會分不清save、saveOrUpdate、update的區(qū)別,lock、merge、replicate、refresh、evict甚至不知道是干什么用的。而且關(guān)于實(shí)體對象的生命周期也有很多概念不清,分不清transient、persistent、detached的區(qū)別,只是知道PO、VO這樣的通俗叫法。其實(shí)這些概念都很簡單,Hibernate的javadoc寫的都很清楚,只需看看就能明白。所以我花了些時(shí)間將Hibernate 3.1.2中session的javadoc部分翻譯了一下,旨在讓那些因?yàn)镠ibernate的“透明”而忘記了它基本概念的人們停下來再看看這些概念 閱讀全文