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>

最后附上图片:

相关文章
相关标签/搜索