Hibernate en tant que framework ORM fournit une architecture multicouche, comprenant SessionFactory, Session, Transaction, Query, Criteria et Entity Manager. En pratique, vous pouvez utiliser Hibernate pour effectuer des opérations CRUD, créer une connexion à la base de données via SessionFactory, effectuer des opérations via Session, gérer les modifications via Transaction, interroger via Query, créer des conditions de requête complexes via Criteria et utiliser Entity Manager pour la persistance et les requêtes. .
Architecture du framework Java Hibernate
Vue d'ensemble
Hibernate est un framework de mappage objet-relationnel (ORM) Java populaire qui fournit un moyen de mapper des objets Java à des tables de base de données. Il a une architecture multicouche, comme indiqué ci-dessous :
Architecture
1 SessionFactory
2. Session
3. Transaction
4. Query
5. Critères
6. Entity Manager
Cas pratique
Dans l'exemple suivant, nous utiliserons le framework Hibernate pour effectuer des opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) de base :
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class HibernateExample { public static void main(String[] args) { // 创建一个 Configuration 对象并配置 Hibernate Configuration configuration = new Configuration(); configuration.configure("hibernate.cfg.xml"); // 创建一个 SessionFactory SessionFactory sessionFactory = configuration.buildSessionFactory(); // 打开一个 Session Session session = sessionFactory.openSession(); // 开始一个 Transaction Transaction transaction = session.beginTransaction(); // 创建一个实体对象 Employee employee = new Employee("John Doe"); // 保存实体对象 session.save(employee); // 提交 Transaction transaction.commit(); // 关闭 Session session.close(); } }
Dans cet exemple, nous créons un Configuration
对象来配置 Hibernate,创建了一个 SessionFactory
,然后打开了与数据库的 Session
。我们开始了一个 Transaction
,然后保存了一个 Employee
实体。最后,提交了 Transaction
并关闭了 Session
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!