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

Produtos adicionados somem a cada restart

Tudo funciona perfeitamente, mas ao restartar o servidor tomcat todos os produtos que eu adicionei somem e só os 3 produtos que já vieram quando eu importei o projeto aparecem na lista

2 respostas
solução!

Oi Pedro, tudo certo?

Isso ocorre porque este projeto utiliza um banco de dados em memória. Esse cara só mantém os dados enquanto sua aplicação está de pé, por isso quando você reinicia o Tomcat, os dados se perdem.

Você pode ver a string de conexão do banco no persistence.xml:

https://github.com/alura-cursos/desenvolvimento-web-com-vraptor-4/blob/master/src/main/resources/META-INF/persistence.xml#L12

O nome desse banco é hsqldb.

Mas de onde vem esses três dados então? O instrutor escreveu uma classe que observa um evento disparado pelo VRaptor quando ele inicia. Quando o evento é disparado o código do método da classe é executado:

https://github.com/alura-cursos/desenvolvimento-web-com-vraptor-4/blob/master/src/main/java/br/com/caelum/vraptor/observers/InitialDataObserver.java

Então sempre que o VRaptor é iniciado na sua aplicação, os três produtos são inseridos no seu banco. Por isso sempre você vê eles da primeira vez.

Todos esses arquivos devem estar no seu projeto aí local.

Esse tipo de banco é útil para realizar testes da aplicação. Então para ficar com os dados, você teria que trocar para um banco como o MySQL.

Faz sentido? Abraço!

Muito obrigado, faz sentido sim.

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