Java est un langage de programmation informatique polyvalent, concurrent, basé sur des classes, orienté objet et spécifiquement conçu pour avoir le moins de dépendances d'implémentation possible.
Hibernate est le framework le plus populaire pour réaliser des projets ORM (Mapping Objet-Relationnel). Avec Hibernate, un logiciel peut utiliser les principaux SGBD du marché, et même changer de fournisseur de base de données à tout moment, sans impact sur le code source. Cela est possible car Hibernate prend en charge les dialectes. Chaque produit de base de données a un dialecte différent qui peut être assigné dans un fichier de configuration.