JPA diz que a tabela já existe e não quer atualiza-la

Java

20/07/2014

Pessoal,

Eu estou com um problema ao tentar "levantar" o servidor, Ele me diz que não consegue executar o schema do JPA pois determinada tabela já existe, mas as tabelas já foram criadas e ele só deve atulizar se necessário.

Meu persiste.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="admcarPU" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:/ozeloDS</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
      <property name="hibernate.show_sql" value="true"/>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>


O Erro:

    "JBAS014671: Failed services" => {"jboss.persistenceunit.\"v2-web-1.0.war#admcarPU\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"v2-web-1.0.war#admcarPU\": javax.persistence.PersistenceException: Unable to execute JPA schema generation create command [create table Fabricante (id int4 not null, nome varchar(12) not null, primary key (id))]
    Caused by: javax.persistence.PersistenceException: Unable to execute JPA schema generation create command [create table Fabricante (id int4 not null, nome varchar(12) not null, primary key (id))]
    Caused by: org.postgresql.util.PSQLException: ERRO: relação \"fabricante\" já existe"},
    "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => [
            "jboss.deployment.unit.\"v2-web-1.0.war\".CdiValidatorFactoryService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".WeldStartService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteDao.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteDao.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteDao.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteServiceImpl.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteServiceImpl.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.FabricanteServiceImpl.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloDao.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloDao.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloDao.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisDao.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisDao.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisDao.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisServiceImpl.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisServiceImpl.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloOpcionaisServiceImpl.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloServiceImpl.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloServiceImpl.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.ModeloServiceImpl.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorDao.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorDao.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorDao.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorServiceImpl.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorServiceImpl.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.OperadorServiceImpl.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloDao.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloDao.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloDao.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloServiceImpl.START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloServiceImpl.WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.SubModeloServiceImpl.WeldInterceptorBindingsService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"com.sun.faces.config.ConfigureListener\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"com.sun.faces.config.ConfigureListener\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.faces.webapp.FacesServlet\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.faces.webapp.FacesServlet\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.faces.webapp.FacetTag\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.faces.webapp.FacetTag\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.servlet.jsp.jstl.tlv.ScriptFreeTLV\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"javax.servlet.jsp.jstl.tlv.ScriptFreeTLV\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"org.jboss.weld.servlet.WeldInitialListener\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"org.jboss.weld.servlet.WeldInitialListener\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"org.jboss.weld.servlet.WeldTerminalListener\".START",
            "jboss.deployment.unit.\"v2-web-1.0.war\".component.\"org.jboss.weld.servlet.WeldTerminalListener\".WeldInstantiator",
            "jboss.deployment.unit.\"v2-web-1.0.war\".deploymentCompleteService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".jndiDependencyService",
            "jboss.deployment.unit.\"v2-web-1.0.war\".moduleDeploymentRuntimeInformationStart",
            "jboss.naming.context.java.module.\"v2-web-1.0\".\"v2-web-1.0\".env.\"br.com.ozelo.v2.dao.GenericDao\".em",
            "jboss.undertow.deployment.default-server.default-host.\"/v2-web-1.0\"",
            "jboss.undertow.deployment.default-server.default-host.\"/v2-web-1.0\".UndertowDeploymentInfoService"
        ],
        "Services that may be the cause:" => [
            "jboss.deployment.unit.\"v2-ejb-1.0.jar\".beanmanager",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".FabricanteDao",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".FabricanteServiceImpl",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".ModeloDao",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".ModeloOpcionaisDao",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".ModeloOpcionaisServiceImpl",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".ModeloServiceImpl",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".OperadorDao",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".OperadorServiceImpl",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".SubModeloDao",
            "jboss.naming.context.java.comp.\"v2-ejb-1.0\".\"v2-ejb-1.0\".SubModeloServiceImpl"
        ]
    }


No Banco de Dados PostgreSql as tabelas são criadas, mas no servidor esta dando este erro.

Qual a configuração que esta errada?

Obrigado.
Raphael Ozelo.

Raphael Ozelo.

Curtidas 0

Melhor post

Ronaldo Lanhellas

Ronaldo Lanhellas

23/07/2014

Tenta retirar a linha abaixo e veja o que acontece:

<property name="javax.persistence.schema-generation.database.action" value="create"/>
GOSTEI 1

Mais Respostas

Thiago Palmeira

Thiago Palmeira

20/07/2014

cara veja esse post que fiz no meu site -> Criando Projeto JPA

Tenta baixar o arquivo que disponibilizei do persistence.xml e faça a comparação.
GOSTEI 0
Daniel Volpato

Daniel Volpato

20/07/2014

Tenta retirar a linha abaixo e veja o que acontece:

<property name="javax.persistence.schema-generation.database.action" value="create"/>


Você tem duas property pra fazer a "mesma coisa", dentro do teu persistence.xml:

<property name="hibernate.hbm2ddl.auto" value="update"/>

<property name="javax.persistence.schema-generation.database.action" value="create"/>


Recomendo fazer o que nosso colega Ronaldo te sugeriu!
GOSTEI 1
Ronaldo Lanhellas

Ronaldo Lanhellas

20/07/2014

Tenta retirar a linha abaixo e veja o que acontece:

<property name="javax.persistence.schema-generation.database.action" value="create"/>


Você tem duas property pra fazer a "mesma coisa", dentro do teu persistence.xml:

<property name="hibernate.hbm2ddl.auto" value="update"/>

<property name="javax.persistence.schema-generation.database.action" value="create"/>


Recomendo fazer o que nosso colega Ronaldo te sugeriu!


Exatamente, ele está usando o Hibernate e o JPA para criar tabelas se necessário, não adianta tirar de 1 , tem que tirar os dois.
GOSTEI 0
POSTAR