Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Banco sendo dropado sempre ao inicializar o servidor

Prezados, boa noite

Estou realizando o curso Java e JPA: Otimizações com JPA2 e Hibernate, e gostaria de fazer mais alguns testes com o hibernate Statistics e inserir um volume de dados maior, porém o meu banco sempre é apagado ao inicializar. Segue como configurei " props.setProperty("hibernate.hbm2ddl.auto", "update")" ; e mesmo assim continua a ser dropado.

Desde já agradeço a ajuda.

6 respostas

Olá, Experimente criar um arquivo application.properties na pasta resource e passar as configurações do datasource para lá. As propriedades do hibernate não são lidas no data source. Se deseja manter o datasource, você deverá usar LocalSessionFactoryBuilder com SessionFactory.

Espero ter ajudado.

Eduardo boa noite. Não funcionou, os dados continuam a ser apagados e recriados conforme o log do servidor.

jun 27, 2017 8:35:59 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:projeto-jpa-2' did not find a matching property.
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version:        Apache Tomcat/8.5.15
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built:          May 5 2017 11:03:04 UTC
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number:         8.5.15.0
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name:               Windows 10
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version:            10.0
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture:          amd64
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_131
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version:           1.8.0_131-b11
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor:            Oracle Corporation
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE:         C:\Users\Junior\Desktop\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME:         C:\apache-tomcat-8.5.15-windows-x64\apache-tomcat-8.5.15
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Users\Junior\Desktop\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\apache-tomcat-8.5.15-windows-x64\apache-tomcat-8.5.15
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Users\Junior\Desktop\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-8.5.15-windows-x64\apache-tomcat-8.5.15\endorsed
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=ISO-8859-1
jun 27, 2017 8:35:59 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre1.8.0_131\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_131/bin/server;C:/Program Files/Java/jre1.8.0_131/bin;C:/Program Files/Java/jre1.8.0_131/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Skype\Phone\;C:\Users\Junior\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\cmd;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Skype\Phone\;;C:\Program Files\Java\jdk1.8.0_111\bin;C:\grails-3.2.3\bin;C:\apache-maven-3.5.0-bin\apache-maven-3.5.0\bin;;C:\Users\Junior\Desktop\eclipse-jee-neon\eclipse;;.]
jun 27, 2017 8:35:59 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-nio-8090"]
jun 27, 2017 8:35:59 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
jun 27, 2017 8:35:59 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-nio-8009"]
jun 27, 2017 8:35:59 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
jun 27, 2017 8:35:59 PM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 919 ms
jun 27, 2017 8:35:59 PM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service [Catalina]
jun 27, 2017 8:35:59 PM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.5.15
jun 27, 2017 8:36:02 PM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
jun 27, 2017 8:36:02 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Spring WebApplicationInitializers detected on classpath: [br.com.caelum.Inicializador@4f2bf9fc]
jun 27, 2017 8:36:02 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
[localhost-startStop-1] WARN net.sf.ehcache.config.ConfigurationFactory - No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath: jar:file:/C:/Users/Junior/Desktop/workspace2/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/projeto-jpa-2/WEB-INF/lib/ehcache-core-2.4.3.jar!/ehcache-failsafe.xml
Hibernate: alter table Produto drop foreign key FK_k56l5p46fql44gawuecr3cx0w
Hibernate: alter table Produto_Categoria drop foreign key FK_tn9nh0x6uju9wej0f5ka3ajnl
Hibernate: alter table Produto_Categoria drop foreign key FK_g4cobe865eyjdqr77rursq8hf
[net.sf.ehcache.CacheManager@252c0ab6] INFO net.sf.ehcache.util.UpdateChecker - New update(s) found: 2.4.7 [http://www.terracotta.org/confluence/display/release/Release+Notes+Ehcache+Core+2.4]. Please check http://ehcache.org for the latest version.
Hibernate: drop table if exists Categoria
Hibernate: drop table if exists Loja
Hibernate: drop table if exists Produto
Hibernate: drop table if exists Produto_Categoria
Hibernate: create table Categoria (id integer not null auto_increment, nome varchar(255), primary key (id)) ENGINE=InnoDB
Hibernate: create table Loja (id integer not null auto_increment, nome varchar(255), primary key (id)) ENGINE=InnoDB
Hibernate: create table Produto (id integer not null auto_increment, descricao TEXT not null, linkDaFoto varchar(255) not null, nome varchar(255) not null, preco double precision not null, versao integer not null, loja_id integer, primary key (id)) ENGINE=InnoDB
Hibernate: create table Produto_Categoria (Produto_id integer not null, categorias_id integer not null) ENGINE=InnoDB
Hibernate: alter table Produto add constraint FK_k56l5p46fql44gawuecr3cx0w foreign key (loja_id) references Loja (id)
Hibernate: alter table Produto_Categoria add constraint FK_tn9nh0x6uju9wej0f5ka3ajnl foreign key (categorias_id) references Categoria (id)
Hibernate: alter table Produto_Categoria add constraint FK_g4cobe865eyjdqr77rursq8hf foreign key (Produto_id) references Produto (id)
Hibernate: insert into Loja (nome) values (?)
Hibernate: insert into Loja (nome) values (?)
Hibernate: insert into Categoria (nome) values (?)
Hibernate: insert into Categoria (nome) values (?)
Hibernate: insert into Produto (descricao, linkDaFoto, loja_id, nome, preco, versao) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Produto (descricao, linkDaFoto, loja_id, nome, preco, versao) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Produto (descricao, linkDaFoto, loja_id, nome, preco, versao) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Produto (descricao, linkDaFoto, loja_id, nome, preco, versao) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Produto (descricao, linkDaFoto, loja_id, nome, preco, versao) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: insert into Produto_Categoria (Produto_id, categorias_id) values (?, ?)
Hibernate: select loja0_.id as id1_1_, loja0_.nome as nome2_1_ from Loja loja0_
Hibernate: select categoria0_.id as id1_0_, categoria0_.nome as nome2_0_ from Categoria categoria0_
jun 27, 2017 8:36:16 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Set web app root system property: 'webapp.root' = [C:\Users\Junior\Desktop\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\projeto-jpa-2\]
jun 27, 2017 8:36:16 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Initializing log4j from [C:\Users\Junior\Desktop\workspace2\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\projeto-jpa-2\WEB-INF\log4j.xml]
log4j: Threshold ="null".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.springframework] additivity to [true].
log4j: Level value for org.springframework is  [warn].
log4j: org.springframework level set to WARN
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [threshold] to [DEBUG].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{HH:mm:ss} %p [%t]:%c{3}.%M()%L - %m%n].
log4j: Adding appender named [stdout] to category [org.springframework].
jun 27, 2017 8:36:16 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Initializing Spring FrameworkServlet 'dispatcher'
jun 27, 2017 8:36:16 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["http-nio-8090"]
jun 27, 2017 8:36:16 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["ajp-nio-8009"]
jun 27, 2017 8:36:16 PM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 16843 ms
Hibernate: select produto0_.id as id1_2_, produto0_.descricao as descrica2_2_, produto0_.linkDaFoto as linkDaFo3_2_, produto0_.loja_id as loja_id7_2_, produto0_.nome as nome4_2_, produto0_.preco as preco5_2_, produto0_.versao as versao6_2_ from Produto produto0_
Hibernate: select loja0_.id as id1_1_0_, loja0_.nome as nome2_1_0_ from Loja loja0_ where loja0_.id=?
Hibernate: select loja0_.id as id1_1_0_, loja0_.nome as nome2_1_0_ from Loja loja0_ where loja0_.id=?

Olá Antonio,

Parece que suas configurações não estão sendo 'vistas' pela aplicação. Segue um arquivo application.properties completo para referência: https://github.com/netgloo/spring-boot-samples/blob/master/spring-boot-mysql-springdatajpa-hibernate/src/main/resources/application.properties.

Atenção para a linha 31:

spring.jpa.hibernate.ddl-auto = update

Este arquivo deve estar em src/main/resources/application.properties

# MySQL DB properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/MyDbName
jdbc.username=root
jdbc.password=admin

spring.jpa.hibernate.ddl-auto = update

Neste caso, voê precisa migrar todas as configurações da classe datasource para o arquivo properties. Caso ainda não funcione, poste seu arquivo application. properties, por favor. Abraço!

Eduardo boa noite.

Fiz o que vc me falou e funcionou, não está mais apagando. Vc saberia me explicar o porque estava acontecendo isso? e muito obrigado pela ajuda.

solução!

Que bom Antonio, fico feliz em ter ajudado.

Pelo seu log, parece que a aplicação estava ignorando sua configuração. Primeiro, usar props no datasource não funciona, a menos que vc crie uma LocalSessionFactoryBuilder usando SessionFactory,conforme falei no outro post. Segundo, a configuração no seu properties devia estar errada. Não sei como estava seu application.properties, mas ao usá-lo, você precisa migrar toda a configuração do banco para ele.

Pode marcar o tópico como resolvido, por favor? Obrigado. Abraço!

Obrigado pelos esclarecimentos Eduardo