2012-10-25 49 views
2

我們使用Hibernate創建數據庫模式並將其作爲ORM使用。我們喜歡在Postgres,Oracle和HSQLDB之間交換持久層。使用休眠/數據字典的DB(oracle)列描述

由於Oracle也有一個DB團隊,有很多次這樣的問題,比如「這一列是什麼意思?」並且答案在Java類中是JavaDoc。所以我正在尋找的是通過使用類屬性中的文本(最好是java doc)將描述添加到列的可能性。但是,谷歌沒有發現任何有用的,除了這個:

https://hibernate.onjira.com/browse/HHH-4369

我懷疑,這個請求將被執行。

一個想法可能是編寫自己的註釋@ColumnDesc(「我的描述」)並編寫一個lib,它掃描此註釋的類併爲列描述生成額外的DDL(alter table)腳本並執行此腳本。這似乎有點複雜,因爲我需要獲取表和列的名稱。

所以我的問題是:

有創造與Hibernate工具的DB(就是hbm2ddl)時,解決方法或其他簡單的方法在DB(Oracle)的創建列的說明?

替代方法:是否有一種簡單的方法來生成由休眠生成的表和列的數據字典? (請不要說JavaDoc,DBA無法讀取JavaDocs)

我們使用註釋hibernate defintion(no XML)。

感謝您的任何提示!

問候,

安德烈亞斯

回答

1

自定義註釋聽起來像是正確的方法給我。

然後,您可以掃描自定義註釋和Hibernate/JPA註釋,並輸出DDL來更改表以創建列說明。

您可能需要對hibernate如何形成表名和列名進行反向工程,或者可能想出如何重新使用休眠中的相關類來生成它們。