今天在idea上初步实践了一下hibernate的CRUD操作,出现的一点小错误
第一个错误提示:Error executing DDL via JDBC Statement 原因:hibernate.cfg.xml文件中配置数据库方言不匹配,MySQL这里导入的驱动包是5.1.7的 解决办法:将数据库方言MySQLDialect改为MySQL5Dialect或者导入Mysql5.0以前的驱动包
<property name="dialect">org.hibernate.dialect.MySQL5Dialect
</property>
在执行一次插入,一次更新操作时进行了两次事务提交tx.commit(); 然后就报错Transaction not successfully started
原因:Transaction代表一次原子操作,一个session之内可能包含多个Transaction对象,我这里是因为只定义了一个Transaction对象实例,不能进行两次commit操作 解决办法:根据这个session重新获得一个Transaction实例