我有一個通過JAXB生成的類,我嘗試在Hibernate中將它用作實體。有數字字段被定義爲Java BigIntegers。無論我如何在DB2中定義列,Hibernate都會抱怨以下幾種變體:如何將Hibernate中的BigInteger映射到DB2
列名MY_COLUMN錯誤的列類型....找到:decimal,expected:numeric(19,2)。
我試過DB2 bigints,我已經試過數字(19,2)等
我又讓休眠選擇方言。它正在選擇DB2方言。我如何在DB2中定義列以便Hibernate將允許我使用它來存儲Java BigInteger?
如果我把它定義爲在Hibernate中一個big_integer,並作爲DB2一個BIGINT,我得到:
錯列式....列MY_COLUMN發現:BIGINT,預計:數字(19,2)
UPDATE
因此,我改變hibernate.hbm2ddl.auto從驗證創建,讓Hibernate創建模式本身。從日誌中我可以看到,這是使用數字(19,2)的定義生成create table語句。在DB2中,表創建完成後,定義爲十進制(19,2)。該應用程序啓動了。
然後關閉應用程序,重新編譯設置hibernate.hbm2ddl.auto以驗證並重新啓動。
休眠出錯了與: 發現:小數,預計:數字(19,2)
所以Hibernate無法驗證它剛剛創建自己的模式?