今天在工作的時候發現了一個問題希望能給大家一些啟示本人對Hibernate並沒有很深的了解只是在項目中使用到膚淺的一些方法下邊講一講關於Hibernate和Hibernate相關的一些東西
今天在運行一個很簡單的save()方法報
Exception in thread main netsfhibernateMappingException:
Dialect does not support identity key generation
at netsfhibernatedialectDialectgerIdentitySelectString(Dialectjava:)
at netsfhibernatepersisterAbstracEntityPersister<init>(AbstractEntityPersisterjava:)
at netsfhibernatepersisterEntityPersister<init>(EntityPersisterjava:)
at netsfhibernatepersisterPersisterFactorycreateClassPersister
一時真還真把我給攔了一下還是發了點時間看了剛開發完的項目是一樣的配置一切都很順利這次怎麼報這種異常
剛開始把重點放在了hbmxml文件的映射上可是都是Hibernate 反轉控制生成的不會有錯
還是網絡好呀在CSDN網搜索到了關於這個問題的解決方法自動增長的字段取值可以為incrementidentitysequencehilonative……等
把配置文件由這樣的
<id name=kid type=javalangLong>
<column name=KID precision= scale= />
<generator class=identity/>
</id>
改為
<id name=kid type=javalangLong>
<column name=KID precision= scale= />
<generator class=increment/>
</id>
結果一切都運行成功
具體原因我沒有深入去理解沒有時間只知道在使用 identity的是用和Hibernate的jar 而hibernate中就會拋異常使用increment就不會具體來說在這裡Hibernate和Hibernate到底本質區別在哪裡呢或許還需要深入的研究
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27896.html