在Hibernate中,hbm2ddl.auto=";更新;是插入记录,但也给出了一些例外情况?

在Hibernate中,hbm2ddl.auto=";更新;是插入记录,但也给出了一些例外情况?,hibernate,Hibernate,当我在hibernate.cfg.xml文件中提供update时,当我提供session.save()和transaction.commit()时,对象被保存在数据库中,但日志中仍然会出现一些错误,如下所示 org.hibernate.tool.schema.spi.CommandAcceptanceException:通过JDBC语句执行DDL“创建表配置文件(用户名varchar(255)不为null、名字varchar(255)、姓氏varchar(255)、主键(用户名))”时出错 位于

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

org.hibernate.tool.schema.spi.CommandAcceptanceException:通过JDBC语句执行DDL“创建表配置文件(用户名varchar(255)不为null、名字varchar(255)、姓氏varchar(255)、主键(用户名))”时出错 位于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:对象名称已存在:语句中的配置文件[创建表配置文件(用户名varchar(255)不为null,名字varchar(255),姓氏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>

org.hibernate.dialogue.sqlserverdialogue
jdbc:ucanaccess://E:/Eclipse\u workspace\u trails/DB/messenger.accdb
net.ucanaccess.jdbc.UcanaccessDriver
更新
真的

尝试将您的属性重命名为:

 <property name="hibernate.hbm2ddl.auto">update</property>
 <property name="show_sql">true</property>
更新
真的

加载sessionFactory时是否会出现此错误?是的,没错。您的控制台中是否有sql查询?我发现以下错误。。通过JDBC语句执行DDL“create table Profiles(username varchar(255)not null,First_Name varchar(255),Last_Name varchar(255),primary key(username))”时出错。我还希望控制台中的查询为true,但没有查询。添加
false
已删除异常。。但我仍然无法在日志中看到sql查询。