hibernate設置了hbm2ddl.auto不能自動建表和插入java.util.Date日期類型屬性報錯

1.使用的jar包來源於:hibernate-release-4.2.4.Final.zip下的hibernate-release-4.2.4.Final\lib\required中的jar文件,使用的jdbc版本爲:mysql-connector-java-5.0.4-bin.jarjava

2.使用的mysqsl版本:5.6mysql

 

在設置了:數據庫方言爲:sql

<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>數據庫

設置hibernate自動生成數據庫的策略爲:ui

<property name="hbm2ddl.auto">update</property>hibernate

出現的問題:圖片

(1)在插入的時候,說數據表不存在,沒有自動建表:ip

解決方法(改變方言):<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>io

(2)改變方言以後能夠自動建表了,可是插入數據報錯:require

ERROR: Data truncation: Incorrect datetime value: '' for column 'DATE' ...

這個是因爲jdbc和mysql的版本不符合,jdbc驅動版本過低。。。

解決方法:修改映射文件

原來的映射文件:

<property name="date" type="java.util.Date">
            <column name="DATE" />
</property>

修改後的映射文件:

<property name="date" type="data">
            <column name="DATE" />
</property>

最後附上圖片:

相關文章
相關標籤/搜索