我在開發一個項目時遇到了一個不尋常的問題。關於網頁上十幾個文本區域輸入字段的大小的要求並不清楚,因此,我發現自己不僅需要更改數據庫列以增加長度,還要更改指定的大小參數在我的文本區域組件的JSF驗證程序中。由於代碼已經改變,所以需要進行緊急部署,這讓很多人感到憤怒。不幸的是,沒有人確定這些數據元素應該是多長,我們期望它經常變化。我把我的變種變成了clobs,但不幸的是clob的大小也太小了,不得不增加。 有沒有任何工具或API可以幫助我解決這個問題?或者任何最佳實踐?我正在考慮構建一個小的隨需應變功能,該功能將生成所有db列長度並通過單例類提供給應用程序。然後,UI視圖將引用該特定元素,從而消除對代碼部署的需求。UI上的即時數據庫字段長度驗證
有沒有人有更好的解決方案?
我正在使用JSF1.2 + EJB3 + Weblogic + Oracle數據庫堆棧。
非常感謝您的關注。
感謝您的意見。我使用oracle 9 db,因此我使用以下查詢來生成表列長度,我寫入文件以供在表示層上用於驗證。 'code'從all_tab_columns中選擇table_name,column_name,data_length,其中table_name IN(SELECT table_name FROM dba_tables t where owner =?1)和data_type IN('VARCHAR2','CLOB')group by table_name,column_name,data_length order by table_name'code ' – Jaizen 2011-04-20 16:27:30
@Jaizen:ALL_TAB_COLUMNS.DATA_LENGTH沒有列出CLOB的最大長度。相反,該數字表示可能用於將數據存儲在同一行中的空間量。通常這個數字是4000.一個CLOB的實際最大大小至少是幾兆字節。 – 2011-04-21 02:59:11