在大型的資訊系統的模型設計中,表結構往往根據特定的規則,有一些有特別意義的字首在表名和欄位名中使用。
比如象下面結構中:
字首t1, 在實際的使用中可以代表某個模組的名稱,這樣相應的pojo就應該放在對應的模組中,比如這裡的t1對應的是模組common, 這樣生成的staff物件就應該在mytest.hibernate.model.common包中。並且在相應的物件名不應該帶有字首t1staff, 而應該是staff, 欄位名稱也應該遵循相同的道理。
如果要達到這個目的,使用前面例項中的步驟和方法就不能實現, 所以這裡需要編寫乙個反向工程策略的外掛程式來完成這種特殊需求。
easyreverseengineeringstrategy
**如下:
publicclasseasyreverseengineeringstrategyextendsdefaultreverseengineeringstrategy
privatestring generatenewpkgname(string defaultpkgname,string pkgprefix)else
}elseelse}
}publicstring tabletoclassname(tableidentifier table)else
}else}
publicstring columntopropertyname(tableidentifier table, string column)
intidx = column.indexof(
'_');
if(idx>=0)else
}else}
privatestring keywordcheck(string possiblekeyword)
publicvoidsetsettings(reverseengineeringsettings settings)
@override
publicbooleanexcludetable(tableidentifier ti)
if(!ti.getschema().equalsignorecase(
schema
))elseelse
}else}
} publicstaticvoidmain(string args) }
工具鏈在LFS中的應用
主系統中有linux核心,源工具鏈 輔助命令及庫。編譯工具和輔助命令都依賴glibc。考慮到主系統的binutils比實際需要的版本低,低版本的binutils可能缺少需要的某些功能,所以首先生成預編譯工具。利用預編譯工具編譯生成臨時系統,把臨時系統作為過渡,就可以使用chroot命令切換到制定目錄...
Spring的持久層封裝 使用ORM工具訪問資料
常用的orm工具 hibernate ibatis等。下面介紹使用hibernate 加入hibernate後的spring配置文件。配置資料原 datasource class com.mchange.v2.c3p0.combopooleddatasource property name driv...
file inode在應用層和驅動層之間的聯絡 轉
應用層和驅動的銜接,一直是乙個老大難問題,若弄不清楚,總覺得驅動寫起來似是而非的。下面就說說我對他們的理解,還有就是如何實現乙個驅動支援多個上裝置的問題。最主要涉及兩個機制 inode和file。在驅動中 1 我們先找到乙個裝置號devno,可以動態申請,也可以靜態設定,假設靜態設定為major,m...