【问题标题】:Hibernate schema Export failure休眠模式导出失败
【发布时间】:2012-02-20 13:38:36
【问题描述】:

我正在使用 Spring Roo 1.2 并将我的数据库连接从 mysql 更改为 postgres。我通过在 Roo shell 中执行“持久性设置”并在文件 database.properties 中设置参数来做到这一点。作为最后一步,我将 postgres 的 jdbc 驱动程序作为依赖项包含在 pom.xml 中。

当执行“mvn clean jetty:run”时,我得到以下响应:

2012-02-20 14:31:15,465 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - schema export unsuccessful
java.lang.UnsupportedOperationException: Not supported by BasicDataSource
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1062)
    at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:68)
    at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:263)
    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:219)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:372)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1872)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:906)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:257)

这是什么意思?是不支持 Postgres 的架构导出还是我有配置问题?

【问题讨论】:

    标签: hibernate postgresql spring-roo


    【解决方案1】:

    这显然是一个配置问题。看一下BasicDataSource source code,抛出异常是因为BasicDataSource不支持getConnection(String user, String pass)而只支持getConnection()。所以usernamepassword必须在调用getConnection()之前设置/配置。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      作为附加提示,不要让 Hibernate 看到用户名、密码属性,因为它会将获取数据库连接的调用转发到未实现的方法。 只需在数据源定义中配置数据库设置即可。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-12
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-04
        相关资源
        最近更新 更多