Transações e APIs Externas
Você tem um método anotado com @Transactional. Dentro dele, você atualiza o banco, chama uma API externa (ex: gateway de pagamento) e depois atualiza o banco novamente. Parece correto? Na verdade, ...
Você tem um método anotado com @Transactional. Dentro dele, você atualiza o banco, chama uma API externa (ex: gateway de pagamento) e depois atualiza o banco novamente. Parece correto? Na verdade, ...
O Hibernate usa um sistema de cache em camadas para evitar idas desnecessárias ao banco de dados. Mas a diferença entre o Cache de Primeiro e Segundo nível confunde muitos desenvolvedores. Vamos de...
Você já reparou que, às vezes, você altera um objeto Java recuperado do Hibernate, chama o commit() da transação e, magicamente, o banco de dados é atualizado sem você ter chamado repository.save()...
Se o banco de dados é o gargalo da sua aplicação, você provavelmente já pensou em usar cache. O Hibernate oferece um mecanismo poderoso chamado Cache de Segundo Nível (L2 Cache). Mas cuidado: ele n...
O Hibernate é o rei do ORM no mundo Java, e o Lazy Loading (Carregamento Preguiçoso) é uma de suas funcionalidades mais amadas e odiadas. Se você já viu uma LazyInitializationException no seu log, ...
Se você usa Spring Boot, você usa @Autowired ou Injeção via Construtor todos os dias. Você define suas classes, coloca as anotações e, magicamente, as dependências aparecem prontas para uso. Mas vo...
A API de Reflexão (java.lang.reflect) é uma das partes mais mágicas e poderosas do Java. Ela permite que um programa inspecione e manipule a si mesmo em tempo de execução. Mas, como diz o ditado, c...
Sua aplicação caiu. No log, um erro que começa com java.lang.. Mas foi um StackOverflowError ou um OutOfMemoryError? Embora ambos sejam problemas de memória, eles indicam falhas em lugares e por mo...
Se você já se perguntou por que não pode simplesmente mudar um caractere de uma String existente em Java, você não está sozinho. A imutabilidade das Strings é uma das decisões de design mais fundam...
Você já ouviu que “Java é interpretado e lento”? Se sim, essa pessoa ficou presa nos anos 90. Graças ao JIT (Just-In-Time) Compiler, o Java moderno consegue performance comparável ao C++ em muitos ...