猿问

休眠 - 无法解析连接默认模式:无法使用 Java 1.7 Connection#getSchema

概括

在尝试将项目保存到数据库时,我遇到了一个问题,即休眠创建具有正确列的表,但从不填充它们。我认为在某些情况下获取默认模式存在问题,但原因是弹簧、驱动程序或休眠本身?


堆栈跟踪:


""2019-01-28 12:49:31 - Database ->

       name : PostgreSQL

    version : 10.6

      major : 10

      minor : 6

""2019-01-28 12:49:31 - Driver ->

       name : PostgreSQL Native Driver

    version : PostgreSQL 9.1 JDBC4 (build 901)

      major : 9

      minor : 1

""2019-01-28 12:49:31 - JDBC version : 4.0

""2019-01-28 12:49:31 - HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL94Dialect

""2019-01-28 12:49:31 - Unable to use Java 1.7 Connection#getSchema

""2019-01-28 12:49:31 - Unable to resolve connection default schema

"org.hibernate.HibernateException: Use of DefaultSchemaNameResolver requires Dialect to provide the proper SQL statement/command but provided Dialect [org.hibernate.dialect.PostgreSQL94Dialect] did not return anything from Dialect#getCurrentSchemaCommand

    at org.hibernate.engine.jdbc.env.internal.DefaultSchemaNameResolver$SchemaNameResolverFallbackDelegate.resolveSchemaName(DefaultSchemaNameResolver.java:100)

    at org.hibernate.engine.jdbc.env.internal.DefaultSchemaNameResolver.resolveSchemaName(DefaultSchemaNameResolver.java:76)

    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.determineCurrentSchemaName(JdbcEnvironmentImpl.java:298)

    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:232)

    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114)


一只甜甜圈
浏览 282回答 1
1回答

HUWWW

好的,在一些帮助下,我能够弄清楚。有什么帮助:1)在 DataSource bean 中,将 SimpleDataSource 替换为 DataSourceBuilder.build();&nbsp;2) 为 Dao 类中的所有方法添加了@Transactional 注解。
随时随地看视频慕课网APP

相关分类

Java
我要回答