一晃就過了三個月了,已經(jīng)很久沒有寫代碼了,感覺思維都快要停止跳動了。剛才突然想起在以前單位開發(fā)的一套ERP系統(tǒng)的一個問題,這個系統(tǒng)的持久層采用的ORM框架是HIBERNATE,問題是這樣的:
客戶的所有文檔及圖片等大數(shù)據(jù)均存放在BLOB字段中,在PO中有我們映射的對應(yīng)字段,在新增一條文檔記錄時,當(dāng)然是要經(jīng)過兩部操作(即:先INSERT基本信息,并對BLOB字段置空初始化,然后再UPDATE BLOG字段,將文檔內(nèi)容存入數(shù)據(jù)庫)。但在讀取該字段時,卻只能讀前4K內(nèi)容,不知道HIBERNATE為什么要這樣限制?是顧及效率么?
如果是效率因素,我們完全可以將BLOB字段與基本信息分離,生成兩個PO,這樣我們可以通過延遲加載特性以提高效率,我想這么簡單的一點HIBERNATE開發(fā)組織并不可能想不到吧?那倒底會是什么原因呢?
望各位大俠指點指點!!