在Hibernate中,hbm2ddl.auto =“ update”正在插入记录,但是还给出了一些例外?

时间:2018-08-31 06:09:44

标签: hibernate

当我在hibernate.cfg.xml文件中提供更新时,当我提供session.save()和transaction.commit()时,对象已保存在数据库中,但仍在日志中出现一些错误,如下所示。

  

org.hibernate.tool.schema.spi.CommandAcceptanceException:执行DDL错误“创建表配置文件(用户名varchar(255)不为null,First_Name varchar(255),Last_Name varchar(255),主键(用户名))”通过JDBC语句       在org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)       在org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlString(AbstractSchemaMigrator.java:559)       在org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlStrings(AbstractSchemaMigrator.java:504)

  

由以下原因引起:net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc :::: 4.0.4 java.sql.SQLSyntaxErrorException:对象名称已经存在:PROFILES in statement [create table Profiles(用户名varchar(255)不为null,First_Name varchar (255),Last_Name varchar(255),主键(用户名))]       在net.ucanaccess.jdbc.UcanaccessStatement.execute(UcanaccessStatement.java:159)       在org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54)

我正在使用MS Access db,下面是我的配置文件

<hibernate-configuration>
<session-factory>
        <property name="hibernate.dialect">
            org.hibernate.dialect.SQLServerDialect
        </property>
        <property name="hibernate.connection.url">
            jdbc:ucanaccess://E:/Eclipse_workspace_trails/DB/messenger.accdb
        </property>
        <property name="hibernate.connection.driver_class">
            net.ucanaccess.jdbc.UcanaccessDriver
        </property>
        <property name="hbm2ddl.auto">update</property>
        <property name="show-sql">true</property>
        <mapping resource="hibernate/profiles.hbm.xml"/>
</session-factory>

1 个答案:

答案 0 :(得分:0)

尝试将属性重命名为:

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