小编lov*_*m92的帖子

hbm2ddl.auto 设置为“UPDATE”,但它尝试在每次插入之前创建表

如果我错了请纠正我!
一般来说,如果 hbm2ddl.auto 设置为“UPDATE”,hibernate 会检查该表是否存在于数据库中,如果不存在,它会创建该表并推送数据,如果表存在,它只会将数据添加到该表中。
对于 hbm2ddl.auto = update,我观察到,在每次插入之前,hibernate 都会尝试创建表。尽管该表存在,但它会在日志中抛出异常,然后 Hibernate 就会知道该表的存在。
这是正常行为吗?或者我错过了什么?

请在控制台中找到在 log4j 的帮助下生成的以下日志。

Hibernate: create table UsersCC (userID int4 not null, userDOB date, userEmail varchar(255), userPswd varchar(255), primary key (userID))
23:02:27,799  WARN ExceptionHandlerLoggedImpl:27 - GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlString(AbstractSchemaMigrator.java:524)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlStrings(AbstractSchemaMigrator.java:470)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.createTable(AbstractSchemaMigrator.java:273)
    at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:71)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:203)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:110)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:183)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:309)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:445)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710) …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-mapping

5
推荐指数
1
解决办法
3106
查看次数

标签 统计

hibernate ×1

hibernate-mapping ×1

java ×1