`

hibernate的核心类和核心配置

阅读更多

 

       hibernate的核心类和配置

 

  • Configuration

 

  1. 加载核心配置文件hibernate.cfg.xml

  2. 管理关系配置

  • SessionFactory接口

 

  1. 可以缓存sql和数据(session级缓存)

  2. 重要级的类,一个数据库对应一个SessionFactory

  3. 获取session(可以通过openSession()getCurrentSession()方法获取)

    openSession()getCurrentSession()区别

 

  1. openSession是开启一个新的session

  2. getCurrentSession是获取和当前线程绑定的一个session,换言之,在同一个线程中,获取的线程是同一个sessionhashcode值是一样的,这样有利于事务的控制,在核心文件hibernate.cfg.xml中配置,配置如下

    <property name="current_session_context_class">thread</property>

  3. 选择使用原则

 

  1. 如果在同一个线程中,保证使用一个session,则使用getCurrentSession

  2. 如果在同一个线程中,保证使用不同的session,则使用openSession

 

  1. 通过getCurrentSession获取的session在事务提交后,会自动关闭(不要再去手动关闭,否则会报session已关闭异常);通过openSession获取的session则需要手动去关闭

  2. 如果通过getCurrentSession获取的session查询操作,则需要事务提交

 

            本地事务:针对一个数据库的事务

 

            全局事务(jta):跨数据库的事务(例如转账,工行到建行,有两个数据库)

  • Session接口

      1 Session一个实例代表与数据库的一次操作(当然一次操作可以是crud组合)

      2 Session实例通过SessionFactory获取,用完需要关闭

      3 Session是线程不同步的,因此要保证在同一个session中,可以使用getCurrentSession()

      4 Session可以看做是持久化管理器,它是与持久化操作相关的接口

 

 

  1. get()load()方法区别

 

  1. get()查询直接返回实体类,如果查不到数据则返回nullload()如果没有返回实体类,就会抛出org.hibernate.ObjectNotFoundException

  2. 使用get()先到缓存(session缓存/二级缓存)查询数据,如果没有数据,立即向数据库发送select请求;使用load()先到缓存(session缓存/二级缓存)查询数据,返回的是一个代理对象,如果没有真实使用到对象,就没有真正向数据库发送select请求,这是懒加载机制(lazy

  3. 可以通过关系配置文件修改懒加载:

    <class name="com.bobo.domain.User" lazy="false" table="user">

  4. 如何选择使用get()或者load()

    如果确定数据库有具体某条数据,使用load();如果不确定,则使用get()(这样使用效率高)

  • Transaction类,事务类

 

  1. 事务开始beginTransaction,提交submit,回滚rollback等方法

  2. 必须有事务提交,才可以更新数据到数据库

 

 

  • 核心配置文件hibernate.cfg.xml

 

  1. 配置对应的数据库信息:数据库连接,用户名,密码,方言等

  2. 加载数据库驱动

  3. 指定加载映射关系配置文件

 

 

  •   类与数据库表的关系配置

    文件命名规则:一般是类名.hbm.xml

 

  1. 表名和字段名都要对应上类名和属性名

  2. 主键的生成策略

 

0
0
分享到:
评论

相关推荐

    Hibernate核心配置文件对照表

    `hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接、缓存策略、事务管理等相关的重要参数。下面我们将详细探讨这个配置文件中的关键知识点。 1. **数据库连接配置** - `hibernate....

    spring整合struts2与hibernate核心配置文件

    **核心配置要点** 1. **Spring配置**:设置数据源,创建SessionFactory Bean,配置事务管理器。 2. **Struts2配置**:启用Spring插件,配置Action类为Spring管理的bean。 3. **Hibernate配置**:配置数据库连接信息...

    hibernate核心jar包

    3. **SessionFactory**:SessionFactory是Hibernate的核心组件,它是线程安全的,负责创建Session对象。Session是与数据库交互的入口点,提供了持久化对象的实例化、查询、更新和删除等功能。 4. **Transaction管理...

    hibernate核心代码

    它是Hibernate的核心组件,通过配置文件创建: ```java Configuration config = new Configuration().configure(); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings...

    Hibernate核心接口

    "Hibernate核心接口" Hibernate 是一种流行的 Java 持久化框架,它提供了多种核心接口来实现数据的持久化操作。这些核心接口是 Hibernate 的基础组件,任何 Hibernate 应用程序都需要使用它们。下面将详细介绍这五...

    hibernate配置文件详解

    Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面我们将详细介绍 Hibernate 配置文件的结构和内容。 一、hibernate.cfg.xml 文件 hibernate.cfg.xml 文件是 Hibernate 的基本配置...

    Hibernate 核心类库

    《Hibernate核心类库详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据存储。本篇文章将详细探讨`hibernate-release-...

    hibernate 核心技术

    【hibernate核心技术】主要涉及的是Java开发中的两个重要框架:Struts和Hibernate。这两个框架在企业级应用开发中有着广泛的应用,它们分别是MVC(Model-View-Controller)架构模式中的控制器和持久层解决方案。 ...

    Hibernate核心类和接口的详细介绍

    Hibernate核心类和接口是Hibernate框架的核心组件,负责将Java对象与数据库表进行映射。hibernate.properties文件、hibernate.cfg.xml文件和*.hbm.xml文件是Hibernate的核心配置文件,用于配置Hibernate的运行环境和...

    oracle的hibernate配置文件

    SessionFactory是Hibernate的核心组件,负责实例化Session对象。配置如下: ```xml &lt;!-- 其他属性配置 --&gt; ``` 4. 映射文件引用: 持久化类的映射信息通常存储在`.hbm.xml`文件中。在配置文件中,我们需要...

    Hibernate教程03_Hibernate核心开发接口介绍

    10. **配置和映射文件**: Hibernate的配置文件(hibernate.cfg.xml)包含了数据库连接信息、缓存设置等。实体的映射文件(*.hbm.xml)或者注解定义了对象与数据库表的对应关系。 以上就是Hibernate核心开发接口的...

    JAVA 使用hibernate配置实例

    本教程将详细讲解如何在Java项目中配置和使用Hibernate,包括在普通Java工程和Maven工程中的配置实例。 首先,我们需要了解Hibernate的核心概念。Hibernate是一个开源的ORM框架,它可以将Java类与数据库表进行映射...

    Eclipse中Hibernate简单配置和使用

    Hibernate核心类和接口 Hibernate的核心类和接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这些核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对...

    Hibernate配置文件和jar包

    1. hibernate.cfg.xml:这是Hibernate的核心配置文件,用于定义数据源、持久化类、SessionFactory等相关设置。例如,你需要在其中指定数据库连接的URL、用户名、密码,以及JDBC驱动等信息。例如: ```xml &lt;hibernate...

    Hibernate基本配置演示

    通过运行这个示例,你可以理解并实践上述配置和操作步骤。 总结,Hibernate的基本配置涉及数据库连接信息设置、实体类的定义、以及SessionFactory的创建。理解这些核心概念后,你就可以开始利用Hibernate的强大功能...

    Hibernate的配置文件

    6. **SessionFactory配置**:SessionFactory是Hibernate的核心组件,负责创建和管理Session对象。可以设置`current_session_context_class`属性来选择Session的上下文。例如: ```xml &lt;!-- Other properties --&gt;...

    hibernate--5.Hibernate配置文件详解

    `SessionFactory`是Hibernate的核心组件,负责创建`Session`实例。配置文件中的`&lt;session-factory&gt;`元素包含了所有相关配置属性。 **4. Caching** Hibernate支持第二级缓存,可以提高性能。`&lt;cache&gt;`元素用于配置...

    SpringMVC+Spring+hibernate配置

    2. 配置Servlet容器:在web.xml文件中配置DispatcherServlet,它是SpringMVC的核心组件。 3. 创建SpringMVC配置文件:定义处理器映射器、视图解析器、拦截器等。 4. 编写Controller:实现请求处理逻辑,使用@...

Global site tag (gtag.js) - Google Analytics