【hibernate初探】之接口说明,session使用

  hibernate作为一个完整的ORM映射框架,通过配置即可以让我们从复杂的JDBC操作中脱离出来。hibernate封装了 JDBC,JTA(java transaction API) 和JNDI。hibernate 是一个轻量级的框架,对于开发人员,可以采用它提供的接口进行数据库操作,当然也可以直接绕过hibernate,采用原生JDBC操作。而且当与Spring整合之后,Spring也提供了jdbcTemplate 。所以,使用者最好区分到底用谁的。

1:hibernate主要接口

根据图示:configration中获取到sessionfactory,然后sessionfactory中获取session,在获取对应接口执行对应的操作。

在这个地方需要注意的是,sessionfactory是重量级的(用来缓存sql语句之类),session是轻量级的,主要缓存一些对象。

2:缓存清理

1:java中对象生命周期是从 new开始,终止与没有引用指向。

2:

时间: 2024-08-24 22:26:08

【hibernate初探】之接口说明,session使用的相关文章

慕课网Hibernate初探之一对多映射实验及总结

慕课网Hibernate初探之一对多映射实验及总结 一.本课核心 * 1.如何在MyEclipse中使用Hibernate * 2.如何实现Hibernate中一对多的映射 * 3.如何创建Session对象 * 4.Hibernate如何使用增删改查 1.如何在MyEclipse中使用Hibernate * Hibernat框架创建 * MyEclipse2016 CI 7版本 * Hibernate release-5.2.10.Final * 方法一:自动创建 * 1.新建一个Java项目

Hibernate的核心接口

Hibernate的核心接口一共有5个 Session.SessionFactory.Transaction.Query和Configuration SessionFactory接口 SessionFactroy接口负责初始化Hibernate.它充当数据存储源的代理,并负责创建Session对象. 这里用到了工厂模式.需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够, 当需要操作多个数据库时,可以为每个数据库指定一个

1、Struts2和Hibernate的简单整合(带Session的管理方式)

1.关于数据库:是部门和员工的关系 关于entity和xx.hbm.xml的实现 Dept.class package cn.itcast.entity; import java.util.HashSet; import java.util.Set; public class Dept { private int deptId; private String deptName; // [一对多] 部门对应的多个员工 private Set<Employee> emps = new HashSe

Hibernate的懒加载session丢失解决方法

在web.xml加入spring提供的过滤器,延长session的生命周期 <!--Hibernate的懒加载session丢失解决方法 --> <filter> <filter-name>openSessionInView</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class&

Hibernate常用的接口和类---Session接口☆☆☆☆☆

一.特点 Session是在Hibernate中使用最频繁的接口.也被称之为持久化管理器.它提供了和持久化有关的操作,比如添加.修改.删除.加载和查询实体对象 Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心 Session是线程不安全的 所有持久化对象必须在 session 的管理下才可以进行持久化操作 Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久化操作的数据都缓存在 session 对象处 持久化类与 Sessi

Hibernate五大核心接口

1. 首先我们介绍一下Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象: 具体使用代码实例: SessionFactory sf = new Configuration().configure().buildSessionFactory(); SessionFactory stf = new AnnotationConfiguration().configure().buildSessionFactory();    //

Hibernate 的SQLQuery接口addScalar方法 (原生sql查询)

在平时开发中Hibernate提供的hql基本能够满足我们的日常需求.但是在有些特殊的情况下,还是需要使用原生的sql,并且希望sql查询出来的结果能够绑定到pojo上.hibernate API中的createSQLQuery  和createQuery接口. 就像在这次的项目中,因为表结构要变化,有个新的需求: 要从一个表中查询极个别的字段并且还有几个是求多条数据的和的,之前一直在使用hibernate的API,使用的都是映射过得对象. 原对象及表结构是这样的: @Entity @Table

基于Hibernate对Http接口进行全集测试实践

在测试工作中,一般都很难做到全集测试,通常都是基于边界值.等价类划分的方法进行测试数据的设计.在实际测试中,可能会因为覆盖不全导致一些bug没有测出来.在本文中我准备对一个接口进行全集测试,就是覆盖所有路径. 测试对象 Http接口:http://..../common/getddd.do?d1=D032&d2=D032034&d3=D032055 从接口可以看出传进去的参数有3层组织:d1,d2,d3.d1>d2>d3,d1包含多个d2,d2包含多个d3,d1有多个.所以这边

hibernate 的核心接口

1.Configuration 配置hibernate并启动,并可以动态配置hibernate的属性.创建SessionFactory 2.SessionFactory .重量级,一个数据库对应一个.同时线程线程安全.配置缓存插件.存放读取过得数据.二级缓存. 3.session提供数据库相关的操作.不是线程安全的,轻量级.第一级缓存,当前工作单元加载的对象. 4.Transtation 事务接口,底层封装. 5.query和criteria查询接口.criteria更擅长动态查询