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

Alterações de estado não aparecem no console

Boa tarde, tenho 2 dúvidas neste tópico:

1ª) reparei que no console do instrutor, as aterações feitas pela JPA no banco como update, delete, etc, são mostradas, no meu caso quando rodo a aplicação somente aparece as mensagens em vermelho do hibernate, as alterações são feitas no banco corretamente porém não aparecem no meu console, seria alguma configuração da JPA? Estou utilizando o MySQL.

2ª) o instrutor está utilizando em todos os testes o criador de EntityManager, não seria boa prática isolá-lo somente em uma classe para não ter que ficar repetindo código em cada teste que for feito?

3 respostas

Bom dia Srs.

Referente a minha 1ª dúvida, em um dos vídeos o instrutor informou onde este atributo se encontra e já consegui resolver no arquivo persistence.xml.

Agora quanto a 2ª dúvida, ainda gostaria de um feedback, obrigado!

solução!

Olá Thales, tudo bem com você?

Em relação a primeira dúvida, para caso outras pessoas também tenham, é devido as configurações no persistence.xml:

<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>

A primeira para habilitar o log e o segundo para formatar

Agora a questão de isolar o EntityManager, realmente é a melhor prática, alguns frameworks inclusive abstraem um pouco essa questão, mas o ponto é que temos uma tendência a isolar o contato com o banco de dados, então é comum termos uma classe ProdutoDAO ou ProdutoRepository, por exemplo, que fica responsável por ter o EntityManager e dessa forma isolamos não apenas ele, como toda comunicação entre nossa aplicação e o BD

A abordagem do instrutor é mais de exemplificação dos diversos conceitos da JPA, por isso ele acaba fazendo esse ctrl + c / ctrl + v da criação do Entity Manager, o ponto positivo é que no final o aluno acaba com um código cheio de exemplos para que estudando posteriormente possa testar tudo novamente e entender de fato aquele conceito ( transient, commit, persist), então o código final produzido não se assemelha a um código de sistema

Agora nos cursos de Spring Boot, ai sim temos um código de uma aplicação, e fica claro para a gente como isolamos cada parte :)

Abraços e Bons Estudos!

Legal Geovani, entendi, muito obrigado!

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