1
resposta

Erro

O meu codigo esta com o seguinte erro abaixo, ele roda normalmente persist e tudo mais, mas apresenta esse erro, queria saber o que é. Estou usando o PostGre em vez do mariaDB e essa é o meu persistence.xml

Persistence.xml

<persistence-unit name="financas" transaction-type="RESOURCE_LOCAL">

    <provider>org.hibernate.ejb.HibernatePersistence</provider>

    <class>br.com.caelum.financas.modelo.Conta</class>

    <properties>
        <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" /> <!-- DB Driver -->
        <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost/financa" /> <!-- BD Mane -->
        <property name="javax.persistence.jdbc.user" value="postgres" /> <!-- DB User -->
        <property name="javax.persistence.jdbc.password" value="12345" /> <!-- DB Password -->

        <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/> <!-- DB Dialect -->
        <property name="hibernate.hbm2ddl.auto" value="update" /> <!-- create / create-drop / update -->

        <property name="hibernate.show_sql" value="true" /> <!-- Show SQL in console -->
        <property name="hibernate.format_sql" value="true" /> <!-- Show SQL formatted -->
    </properties>
</persistence-unit>

O Erro é o abaixo

ERROR: ERROR: column t1.tgconstrname does not exist Posição: 113 out 22, 2020 10:05:45 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute ERROR: HHH000299: Could not complete schema update java.lang.NullPointerException at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:129) at org.hibernate.cfg.Configuration.generateSchemaUpdateScript(Configuration.java:1133) at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:212) at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:503) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750) at org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:94) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at br.com.caelum.financas.jpa.TesteJPA.main(TesteJPA.java:24)

1 resposta

Olá Amauri, tudo bem com você?

Assumindo que o mapeamento esteja correto. Esse erro ocorreu pois o Hibernate não encontrou essa coluna na tabela, então peço que verifique se está tudo correto lá.

Outra possibilidade que eu acredito ser a mais provável é algum bug causado pela versão do driver do postgreSQL que você está utilizando. Tente atualizar a versão dele para ver se resolve. Você pode baixar o driver da versão 4.2 nesse site, ou pode encontrar a dependência do Maven aqui.

Perceba que a não ser que você esteja utilizando uma versão do JDK anterior ao Java 8, basta baixar o arquivo sem a extensão .jre*.

Qualquer problema é só avisar!

Abraços e bons estudos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software