天天看點

Hibernate4.3 常見錯誤整理

最近在學習Hibernate,于是就用了最新的jar包。用的myeclipse開發。

于是就出現了很多之前沒有的問題,比如:

java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
           
javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey
           

網上查了下,有說是Hibernate4.3不支援 Table 和 JoinColumn的,去掉這兩個注解的确是沒有問題了,可是這最新的文檔上面明明是有這些注解的使用的。

在StackOverFlow上也看到類似的問題,說的原因是jar包沖突。這個注解的包其實就是 javax.persistence 。仔細看了下,原來MyEclipse中自己導入的javaee包中也含有這個包,二這個jar包中的Table注解是過時的,并不包含 index 以及 foreignKey 這些函數,而程式中引入的其實是這個包下面的注解。問題發現了,解決方法也很簡單,删除MyEclipse自己導入的Java EE Library即可。

================================================================

INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException

這個Info我現在也不知道是什麼原因,網上也有解決辦法,就是把mysql 或者 oracle 的驅動包替換到低版本。  這樣替換了之後就不會出現這個問題。 我發現我的問題是缺少了log4j 的jar包。添加了 log4j 的包之後即便不去替換資料庫驅動包也沒有了這個問題。

繼續閱讀