Hibernate架构是什么样子的呢?
Hibernate在Java应用中是作为一个数据访问层,它为应用程序提供持久化映射对象服务
它指Hibernate对象的一个配置及属性文件
配置对象中提供两个基础组件
hibernate.cfg.xml。
并允许实例化一个会话对象。
SessionFactory 是一个线程安全对象并由应用程序所有的线程所使用
SessionFactory:
它在应用程序启动时创建,并一直使用,
每个数据库拥有一个SessionFactory并使用一个单独的配置文件,
当我们在应用程序中使用多种数据库时,则会创建多个SessionFactory对象
持久对象通过 Session 对象保存和检索。
Session 对象不应该长时间保持开启状态,因为它们通常情况下并非线程安全,并且它们应该按照所需创造和销毁
在 Hibernate 中事务由底层事务管理器和事务(来自 JDBC 或者 JTA)处理。
这是一个选择性对象,Hibernate 应用程序可能不选择使用这个接口,
而在自己应用程序代码中管理事务
一个查询的实例被用于连结查询参数,限制由查询返回的结果数量,并最终执行查询。
Hibernate的应用
Hibernate 支持几乎所有带有 JDBC 驱动的数据库。Hibernate涉及的相关类
配置对象
配置对象:为Hibernate应用程序中创建的第一个 Hibernate 对象,在应用程序初始化时创建,它指Hibernate对象的一个配置及属性文件
配置对象中提供两个基础组件
数据库连接:由 Hibernate 支持的一个或多个配置文件处理
如:hibernate.propertieshibernate.cfg.xml。
类映射设置:创造Java 类同数据库table之间的关联
SessionFactory 对象
配置对象被用于创造一个 SessionFactory 对象,当使用配置文件为配置出Hibernate并允许实例化一个会话对象。
SessionFactory 是一个线程安全对象并由应用程序所有的线程所使用
SessionFactory:
它在应用程序启动时创建,并一直使用,
每个数据库拥有一个SessionFactory并使用一个单独的配置文件,
当我们在应用程序中使用多种数据库时,则会创建多个SessionFactory对象
Session 对象
一个Session对应一个数据库的物理连接,持久对象通过 Session 对象保存和检索。
Session 对象不应该长时间保持开启状态,因为它们通常情况下并非线程安全,并且它们应该按照所需创造和销毁
Transaction 对象
一个事务代表了与数据库工作的一个单元并且大部分 RDBMS 支持事务功能。在 Hibernate 中事务由底层事务管理器和事务(来自 JDBC 或者 JTA)处理。
这是一个选择性对象,Hibernate 应用程序可能不选择使用这个接口,
而在自己应用程序代码中管理事务
Query对象
Query对象使用SQL或Hibernate查询语言(HQL)字符串在数据库中来检索数据并创造对象。一个查询的实例被用于连结查询参数,限制由查询返回的结果数量,并最终执行查询。
Criteria 对象
Criteria 对象被用于创造和执行面向规则查询的对象来检索对象版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。