Ошибка экспорта схемы Hibernate - PullRequest
0 голосов
/ 20 февраля 2012

Я использую Spring Roo 1.2 и изменил соединение с базой данных с mysql на postgres. Я сделал это, исключив «настройку персистентности» в оболочке Roo, а также установив параметры в файле database.properties. В качестве последнего шага я включил драйвер jdbc для postgres в качестве зависимости в 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 не поддерживается или у меня проблема с конфигурацией?

Ответы [ 2 ]

0 голосов
/ 30 октября 2012

В качестве дополнительной подсказки не позволяйте Hibernate видеть имя пользователя и свойства пароля, поскольку он перенаправляет вызов для получения соединения с БД не реализованным методом.Просто настройте параметры БД в определении источника данных, и все будет в порядке.

0 голосов
/ 21 февраля 2012

Это явно проблема конфигурации. Взгляните на исходный код BasicDataSource , исключение выдается, потому что BasicDataSource не поддерживает getConnection(String user, String pass), а только getConnection(). Поэтому username и password должны быть установлены / настроены перед вызовом getConnection().

Надеюсь, это поможет.

...