Hibernate

Dev back

Stop Using Hibernate: The Hidden Dangers You Need to Know

Cet article critique l'utilisation de Hibernate, un framework ORM populaire pour Java, en soulignant ses limitations de performance et en suggérant qu'il est devenu obsolète. L'auteur compare Hibernate à un ancien téléphone encombrant qui ralentit les applications au lieu de les aider, malgré la simplicité qu'il offre. La critique met en avant que la performance supérieure est cruciale et que les développeurs devraient envisager d'autres outils plus rapides pour éviter de nuire à l'efficacité de leurs applications.

Dev back

Is Java still relevant in 2025?

Java, un langage de programmation majeur depuis 1995, reste pertinent en 2025 pour le développement d'applications d'entreprise, les systèmes backend et le développement Android. Sa robustesse, sa polyvalence avec des frameworks comme Spring et Hibernate, ainsi que son rôle clé dans des domaines émergents tels que le Big Data et l'IA, garantissent une demande continue pour les développeurs Java. Bien que confronté à la concurrence de nouveaux langages, Java conserve des avantages en matière de sécurité et d'évolutivité, et reste incontournable pour les solutions cloud et les architectures microservices.

Dev back

JOOQ Is Not a Replacement for Hibernate

Cet article explique que JOOQ et Hibernate ne sont pas des remplacements l'un de l'autre, mais qu'ils résolvent des problèmes différents dans la gestion des bases de données. JOOQ, étant une bibliothèque qui permet une vérification à la compilation et une écriture plus descriptive des requêtes SQL, ne devrait pas être considéré comme un supplantant d'Hibernate, qui gère les entités et les transactions de manière différente. L'auteur discute aussi des modèles de conception comme le Transaction Script et le Domain Model pour illustrer les différentes approches de la programmation avec les bases de données.

Dev back

Using Projections and DTOs with Hibernate Native Queries: A Practical Approach

Cet article explique comment utiliser des requêtes natives avec Hibernate et des projections pour améliorer les performances en ne récupérant que les colonnes nécessaires dans une base de données Java. Il aborde les raisons d'utiliser des requêtes natives, les pièges courants, et fournit un exemple étape par étape pour mapper ces colonnes à un DTO, permettant ainsi une meilleure organisation du code.

Dev back

Dirty Checking in Hibernate with Spring Boot

Cet article présente le concept de Dirty Checking dans Hibernate lorsqu'il est utilisé avec Spring Boot. Dirty Checking est une fonctionnalité qui permet à Hibernate de détecter automatiquement les changements apportés aux entités persistantes et de synchroniser ces changements avec la base de données au cours de la phase de flush d'une transaction. Cela évite aux développeurs d'avoir à écrire manuellement les instructions SQL pour chaque modification. L'intégration de Hibernate avec Spring Boot simplifie également la gestion des configurations, rendant le développement d'applications évolutives plus efficient.

Dev back

Memory Optimization Techniques You Must Know for Spring Boot Applications

Optimiser la mémoire est crucial pour améliorer la performance des applications Spring Boot. Une utilisation inefficace de la mémoire peut entraîner des temps de réponse lents, des coûts serveurs élevés et des erreurs de type OutOfMemory. Des techniques telles que le chargement paresseux, l'implémentation de stratégies de pagination et l'utilisation de @Batchsize pour l'optimisation des collections sont recommandées.

Dev back

Tips & tricks for optimising Spring Data & JPA queries

Cet article présente des conseils pour optimiser les requêtes Spring Data et JPA, en soulignant l'importance de surveiller la couche de persistance, d'analyser les requêtes SQL, et de gérer les associations d'entités pour améliorer la performance des applications Java. Il aborde également les problèmes courants comme le problème N+1 et propose des solutions spécifiques pour affiner les requêtes et réduire la charge sur les bases de données.