SessionFactory、Transaction、Query



1.SessionFactory

  应用程序通过SessionFactory获得Session实例,并在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂,在应用初始化时被创建。会话工厂缓存了SQL语句和Hibernate在运行时使用的映射元数据。

  Hibernate 中获取 SessionFactory 调用代码: SessionFactory sfactory = cfg.buildSessionFactory();



2.Transaction

  Transaction 将应用代码从底层的事务实现中抽象出来,允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境中的可移植性。   调用代码: Transaction tx = session.beginTransaction(); … tx.commit();



3.Query

  Query(查询)接口允许在数据库上执行查询并控制查询如何执行。 查询语句使用HQL或者本地数据库的SQL方言编写。

  调用代码: Query query = session.createQuery(“from User”);



 4.持久化Java类必须遵循的原则

  为类的持久化字段申明访问方法(get/set),Hibernate对JavaBeans风格的属性实行持久化。

  实现一个默认的构造方法(constructor), Hibernate 可以使用 Constructor.newInstance() 进行持久化类的实例化。

  如果是集合类型属性,它的类型必须定义为集合的接口,例如:List、Set。

  提供一个标识属性(identifier property),如果没有该属性,一些功能不起作用,比如,级联更新: Session.saveOrUpdate()



SessionFactory、Transaction、Query

时间: 2024-10-28 15:06:21

SessionFactory、Transaction、Query的相关文章

html 5 本地数据库-- Web Sql Database核心方法openDatabase、transaction、executeSql 详解

Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Opera等主流浏览器都已经支持Web SQL Database.HTML5的Web SQL Databases的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的.今天,我们一起来了解HTML 5的Web SQL Database API. 下面将一一将介绍怎样创建打开数据库,创建表,添加

常见Struts、Hibernate、Spring、J2EE、ibatis、Oracle等开发框架架构图及其简介

各种系统架构图及其简介 转载请保留出处,不胜人生一场醉汇总. 以下文字和架构图均在本人相关系统设计和架构方案中有所应用. 原文出处:http://space.itpub.net/6517/viewspace-609654 1.Spring架构图 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能

JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析

JDBC (Java Data Base Connection,java数据库连接) JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 优点:运行期:快捷.高效 缺点:编辑器:代码量大.繁琐异常处理.不支持数据库跨平台 JDBCTemplate Jdb

SpringMVC 理论与实用技术(一) 简单、实用、易懂的几个实例

SpringMVC先来看一下百度百科中的定义; Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velo

【Hibernate】---Query、Criteria、SQLQuery

一.核心配置文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.d

ADO.NET基本操作(CRUD、Procedure、Transaction)

模型沿用上篇博客所提到的学生.教师.课程,以详细的代码进行演示. 增删改查 添加学生.教师.课程 using System.Data.SqlClient; namespace Test { class Program { static void Main(string[] args) { using (SqlConnection conn = new SqlConnection()) { conn.ConnectionString = "server=.;database=school;uid=

SessionFactory、HibernateTemplate、HibernateDaoSupport之间的关系说明

在接触HibernateTemplate之前,我们知道,在对数据库进行CRUD操作之前,需要开启session.transaction等等.在hibernate学习过程中,我们知道了,得到session之前,需要先得到SessionFactory,进而从SessionFactory里面openSession(),或者getCurrentSession(),接着开启一transaction,然后进行对数据库的操作,在操作结束后,提交事务,关闭session.当然如果session是通过getCur

Flume NG 学习笔记(十) Transaction、Sink、Source和Channel开发

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.Transaction interface Transaction接口是基于flume的稳定性考虑的.所有主要的组件(sources.sinks.channels)都必须使用Flume Transaction.我们也可以理解Transaction接口就是flume的事务,sources和sinks的发送数据与接受数据都是在一个Transaction里完成的. 从上图中可以看出,一个Transaction在Channel实

ABAP程序互调用:SUBMIT、CALL TRANSACTION、LEAVE TO TRANSACTION

Calling Executable Programs(SUBMIT)... 343 设置选择屏幕参数值(SUBMIT...WITH)... 343 实例一:参数传递... 345 实例二:参数传递及返回值接收... 346 控制Called Programs中LISTS输出... 348 修改输出LISTS行列数... 348 将被调程序的输出列表打印到spool system.. 349 将输出列表保存到ABAP memory. 349 使用LEAVE语句退出被调程序... 350 CALL