Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Cache de 1o nível

No exercício tem essa afirmação:

"O problema de utilizarmos o cache de primeiro nível da nossa aplicação é que nós já configuramos que seja criado um novo EntityManager a cada requisição. Ou seja, como cada requisição possuí o seu próprio EntityManager e cada um destes o seu próprio cache, os dados do cache acabam se perdendo quando a requisição termina, além de, não serem reaproveitados entre requisições."

Se não fosse configurado para que o em existisse durante a requisição, ou seja, ele não existiria mais ao fim de um método (padrão)..... o cache de 1o nível também não serviria correto? Por que em uma próxima chamada de método outro em seria criado e teria seu proprio cache e assim por diante....

Então o cache de 1o nível só serviria a nível de ser usado para a aplicação toda se fosse utilizado apenas um em para toda a aplicação?

1 resposta
solução!

Bom dia Fernando, é essa a ideia, o cache de 1 nivel é o próprio EntityManager, pois ele guarda a informação a última chamada, para que se você fizesse novamente ele não precisa ir ao banco de novo.

Porém não teremos como usar isso, pois a cada vez que fazemos uma chamada temos um novo EntityManager e perdemos o cache do anterior. Logo o ideal seria utilizarmos o cache de 2 nivel!

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