📜  Hibernate-ORM概述(1)

📅  最后修改于: 2023-12-03 14:41:43.521000             🧑  作者: Mango

Hibernate ORM概述

Hibernate ORM是一个开源的对象关系映射框架,它简化了Java应用程序与关系数据库之间的交互。它将Java对象映射到关系数据库中的表格和列中。Hibernate ORM提供了一个具有高度灵活性和可扩展性的持久化解决方案。它使开发人员能够很容易地在Java应用程序中使用关系数据库,使得代码更清晰、更易维护。

优势
  • 面向对象: 映射对象到数据库,使开发人员可以使用面向对象的编程方式编写代码,不用担心数据库表之间的关系。
  • 高效性: Hibernate ORM使用缓存技术,可以大大提高应用程序的性能。
  • 可移植性: Hibernate ORM是可移植的,可以在各种数据库系统上使用,而不需要更改代码。
  • 安全性: Hibernate ORM提供了安全的SQL查询,可以避免SQL注入攻击。
核心概念
实体类(Entity)

实体类表示关系数据库中的一个表。它使用注解或XML文件指定表格和列与Java类和字段之间的映射。

会话工厂(SessionFactory)

SessionFactory是Hibernate ORM的核心组件,它是一个线程安全的对象用于生成Session对象。

会话(Session)

Session是一个线程安全、短暂的对象,它提供了一组CRUD方法,开发人员可以使用它完成数据存取操作。

事务(Transaction)

事务是一组相关的数据库操作,可以保证数据的一致性和完整性。Hibernate ORM使用事务来管理对数据库的所有更改。

使用代码片段

以下是Hibernate ORM实现一个保存实体类的例子:

Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    .applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();

Student student = new Student();
student.setName("Tom");
student.setAge(18);
session.save(student);

transaction.commit();
session.close();
sessionFactory.close();

以上代码通过SessionFactory创建Session对象,并使用Transaction来保存一个实体类Student。注意,在完成所有数据操作后必须关闭Session和SessionFactory对象,以避免资源浪费。