Subindo projeto no Heroku - Vraptor Hibernate PostGreSQL

4 respostas Resolvido
vraptorhibernate
A

Estou tentando subir uma aplicação no Heroku e estou encontrando um problema na conexão com o banco de dados.

Persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">
    <persistence-unit name="default">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:postgres://gqweumxdqerra:[email removido]:5432/dgssrwn09s5jr1" />
            <property name="javax.persistence.jdbc.user" value="gasdadxdqmzzd" />
            <property name="javax.persistence.jdbc.password" value="1328a61381398a244474e1616b3d0ca058cb644ddfaa5093b235f1e7312303bd" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

Adicionei a dependência do PostGreSQL no Pom.xml

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>9.4.1208</version>
</dependency>

Quando tento realizar um operação com o banco recebo a mensagem:

javax.persistence.PersistenceException: Unable to build entity manager factory

Alguém consegue enxergar onde eu possa estar errando?

4 Respostas

javaflex

No log de erros só tem isso? “Unable to build entity manager factory”? Ta muito vago, deveria ter mais detalhes.

A

Na verdade, achei que o erro fosse simples de identificar.

Segue mais alguns trechos do erro.

org.hibernate.HibernateException: Unable to make JDBC Connection [jdbc:postgres://gqweumxdqerra:[email removido]:5432/dgssrwn09s5jr1]

org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:77)

org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
javaflex

Muda onde tiver jdbc:postgres: pra jdbc:postgresql:

A
Solucao aceita

Lá no Heroku, a URI informada é a seguinte:

jdbc:postgres://gqweumxdqerra:[email removido]:5432/dgssrwn09s5jr1

Mas na verdade, como eu já defini o usuário javax.persistence.jdbc.user e senha javax.persistence.jdbc.password só deve ser informado o caminho do banco, dessa forma:

jdbc:postgresql://<database_host>:<port>/<database_name>

adaptando:

jdbc:postgresql://qa2-2-134-52-32.compute-1.amazonaws.com:5432/dgssrwn09s5jr1

Deu certo, obrigado.

Criado 4 de maio de 2020
Ultima resposta 5 de mai. de 2020
Respostas 4
Participantes 2