Hibernate接口Session详解

sap 新增科目表_SAP系统中四大科目表的总结 操作科目表定义-OB13 2国家科目表定义-OB13 3集团科目表定义-OB13 4合并科目表(ECCS)定义-CX10 4分配操作科目表到公司代码-OB62 5分配国家科目表到公司代码-OB62 6分配集团科目表到操作科目表-OB13 6分配集团科目表到合并科目表-CXNF 7Operation 8定义集团科目表的科目-FSP0 8定义国家科目表的科目-FSP0 8定义操作科目表的科目-FSP0... 阅读详情
原文地址:Hibernate接口Session详解 作者:燕飞

方法概要:

 Transaction

beginTransaction()开始一个工作单元,得到关联的事务对象。

 void

cancelQuery()取消当前执行的查询。

 void

clear()彻底清除session。

 Connection

close()通过断开JDBC连结结束 Session和清除。

 Connection

connection() 得到JDBC连结

 boolean

contains(Object object) 检查实例是否与当前Session关联。

 Criteria

createCriteria(Class persistentClass) 为给定的实体类创建一个新的查询实例。

 Query

createFilter(Object collection, String queryString) 根据字符串为给定的集合创建一个新的查询实例。

 Query

createQuery(String queryString) 根据字符串创建一个新的查询实例。

 Query

createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses)根据SQL字符串创建一个新的查询实例。

 Query

createSQLQuery(String sql, String returnAlias, Class returnClass) 根据SQL字符串创建一个新的查询实例。

 void

delete(Object object) 从数据库删除持久实例。

 int

delete(String query)删除根据查询语句返回的所有对象。

 int

delete(String query, Object[] values, Type[] types) 删除根据查询语句返回的所有对象。

 int

delete(String query, Object value, Type type) 删除根据查询语句返回的所有对象。

 Connection

disconnect() 断开Session与JDBC连结。

 void

evict(Object object) 从session缓存中删除当前实例。

 Collection

filter(Object collection, String filter) 对持久集合应用过滤。

 Collection

filter(Object collection, String filter, Object[] values, Type[] types)对持久集合应用过滤。

 Collection

filter(Object collection, String filter, Object value, Type type)对持久集合应用过滤。

 List

find(String query)执行查询。

 List

find(String query, Object[] values, Type[] types)根据绑定参数执行查询。

 List

find(String query, Object value, Type type) 根据绑定参数执行查询。

 void

flush() 强制Session保存。

 Object

get(Class clazz, Serializable id) 根据给定标识返回实体类持久实例。

 Object

get(Class clazz, Serializable id, LockMode lockMode) 根据给定标识返回实体类持久实例。

 LockMode

getCurrentLockMode(Object object)得到给定对象得当前锁定模式。

 FlushMode

getFlushMode()得到当前保存模式。

 Serializable

getIdentifier(Object object) 得到Session缓存中实体实例的标识。

 Query

getNamedQuery(String queryName) 根据mapping文件中定义的查询字符串得到查询实例。

 SessionFactory

getSessionFactory() 得到创建当前实例的SessionFactory。

 boolean

isConnected() 检查Session是否当前连接。

 boolean

isDirty() 检查是否包含修改的数据没有同步数据库。

 boolean

isOpen() 检查Session是否仍然打开。

 Iterator

iterate(String query)执行一个查询,返回结果到iterator。

 Iterator

iterate(String query, Object[] values, Type[] types) 执行一个查询,返回结果到iterator。

 Iterator

iterate(String query, Object value, Type type) 执行一个查询,返回结果到iterator。

 Object

load(Class theClass, Serializable id) 根据给定标识返回实体类持久实例。

 Object

load(Class theClass, Serializable id, LockMode lockMode) 根据给定标识返回实体类持久实例。

 void

load(Object object, Serializable id) 根据给定标识返回实体类持久实例。

 void

lock(Object object, LockMode lockMode)得到指定锁级别

 void

reconnect()得到新的JDBC连结。

 void

reconnect(Connection connection)重新连结到给定的JDBC连结。

 void

refresh(Object object)从数据库重新读取给定实例状态。

 void

refresh(Object object, LockMode lockMode) 根据给定的锁模式从数据库重新读取给定实例状态。

 void

replicate(Object object, ReplicationMode replicationMode)持久化所有对象。

 Serializable

save(Object object)持久化临时实例。

 void

save(Object object, Serializable id) 根据给定表识持久化临时实例。

 void

saveOrUpdate(Object object)根据给定标识属性选择保存或更新数据库。

 Object

saveOrUpdateCopy(Object object) 根据相同的标识拷贝给定对象的状态到持久对象。

 Object

saveOrUpdateCopy(Object object, Serializable id) 根据给定的标识拷贝给定对象的状态到持久对象。

 void

setFlushMode(FlushMode flushMode)设置保存模式。

 void

update(Object object)根据给定临时实例标识更新持久实例。

 void

update(Object object, Serializable id) 根据给定临时实例标识更新持久实例。

 

 

使用举例:

System.out.println("获取Session...");      

Session session = HibernateSessionFactory.currentSession();

System.out.println("开始Transaction...");

Transaction tx = session.beginTransaction();       

Test my_hibernate = null;

System.out.println("Iterator查询...");

Iterator iterator = session.iterate("from Test order by xm");

while(iterator.hasNext())

{

    my_hibernate = (Test)iterator.next();

    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}      

System.out.println("List查询...");

List list = session.find("from Test order by xm");     

for(int i = 0;i < list.size();i++)

{

    my_hibernate = (Test)list.get(i);

    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}      

System.out.println("Query查询...");

Query query = session.createQuery("from Test order by xm");

list = query.list();

for(int i = 0;i < list.size();i++)

{

    my_hibernate = (Test)list.get(i);

    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

iterator = query.iterate();

while(iterator.hasNext())

{

    my_hibernate = (Test)iterator.next();

    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}      

System.out.println("Criteria查询...");

Criteria criteria = session.createCriteria(Test.class);    

criteria.add(Expression.eq("xb","f"));

list = criteria.list();    

for(int i = 0;i < list.size();i++)

{

    my_hibernate = (Test)list.get(i);

    System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

System.out.println("更新数据...");

my_hibernate = (Test)session.load(Test.class,"121");

my_hibernate.setXb("f");

System.out.println("提交Transaction...");

tx.commit();       

System.out.println("关闭Session...");

HibernateSessionFactory.closeSession();

GEE APP:基于Sentinel-2遥感影像的植被指数(NDVI)和水体指数(NDWI)可视化应用 本文介绍了利用Google Earth Engine(GEE)平台处理Sentinel-2卫星数据的方法,重点讲解NDVI(归一化植被指数)和NDWI(归一化水体指数)的计算与应用。内容包括环境准备、数据加载与处理、指数计算原理、可视化方法以及实际应用案例。教程详细展示了如何定义研究区域、加载影像数据、进行指数运算,并生成专业统计报告和图例。文章还提供了常见问题解答和最佳实践建议,为生态环境监测、农业评估和水资源管理等场景提供了实用工具。通过JavaScript代码示例,读者可以快速掌握GEE平台的遥感影像 阅读详情

相关推荐

vue3接入大华摄像头

┃ ┃ ┣ 📜PlaybackModal.vue 回放列表模态框。┃ ┃ ┗ 📜VideoGrid.vue 视频播放区域。┃ ┃ ┣ 📜ControlPanel.vue 控制面板。┃ ┃ ┣ 📜DeviceList.vue 设备列表。┃ ┣ 📂module //大华摄像头文件。

💻 专注 Vue 前端与 Java 后端技术 🌱 目前正在深入 Spring Boot、微服务与性能优化 📝 定期分享实战踩坑经验与学习笔记 🤝 欢迎交流,共同进步 914

hibernate中的Session详解

一、session概述 Session是应用程序与数据库之间交互操作的一个单线程对象,是Hibernate运作的中心,所有持久化对象必须在session的管理下才可以进行持久化操作。此对象的生命周期很短。Session对象有一个一级缓存,显示执行flush之前,所有的持久层操作的数据都缓存在session对象处。相当于JDBC中的Connection。持久化类与Session关联起来后就具有了持

li286487166的博客 1369

如何用SPSS做logistic回归

详细到只有作者本人能看懂的SPSS逻辑回归育儿经

qq_44794961的博客 2万+

Hibernate异常与会话

Hibernate的事务和并发 Hibernate的事务和并发控制很容易掌握。Hibernate直接使用JDBC连接和JTA资源,不添加任何附加锁定行为。我们强烈推荐你花点时间了解JDBC编程,ANSI SQL查询语言和你使用的数据库系统的事务隔离规范。Hibernate只添加自动版本管理,而不会锁定内存中的对象,也不会改变数据库事务的隔离级别。基本上,使用Hibernate就好像直接使用JDBC...

不积跬步 无以至千里 不积小流 无以成江海 350

Stata实战:用双向固定效应模型分析房价,从数据清洗到结果解读(附完整代码)

本文详细介绍了如何使用Stata实现房价数据的双向固定效应模型分析,从数据清洗到结果解读的全流程。通过具体代码示例,帮助读者掌握面板模型的应用技巧,特别适合经济学和金融学研究者进行房价影响因素分析。

weixin_31528001的博客 277

python操作git推送自己分支并合并主分支(持续优化该工具)

python git

qq_44707265的博客 862

(Hibernate)Session接口详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34119545的博客 238

Gromacs实战:从蛋白质-小分子对接到分子动力学模拟全流程解析

本文详细解析了使用Gromacs进行蛋白质-小分子复合物分子动力学模拟的全流程。从处理AutoDock等对接软件的结果文件开始,逐步指导如何为蛋白质和小分子分别生成拓扑文件,并解决力场合并的核心挑战。文章涵盖了构建模拟盒子、添加溶剂离子、能量最小化、平衡模拟以及关键的轨迹分析步骤,为计算生物学和药物设计研究者提供了一套从静态对接到动态评估的完整实战指南。

weixin_29251337的博客 1218

hibernate学习笔记二之使用hql

3.Session接口 主要功能和作用: Session一个实例代表与数据库一次操作(可以是crud组合) Session实例通过SessionFactory获取,用完需要关闭。 Sessions是线程不同步的,因此要保证在同一线程中使用,可以用getCurrentSession(). Session可以看做是持久化管理器,它是与持久化操作相关的接口。 get()和load()的区别: get()方法直接返回实体类,如果查不到数据就返回null。load()则会返回一个实体代理对象(当前这个对象可以转

这个时代,作为程序员可能要学习小程序 747

数字 IC 笔试面试必考点(2)FPGA 开发流程

FPGA 的详细开发流程就是利用 EDA 开发工具对 FPGA 芯片进行开发的过程,所以 FPGA 芯片开发流程讲的并不是芯片的制造流程,区分于 IC 设计制造流程哟(芯片制造流程多麻烦,要好几十亿的费用呢,而且国内也貌似没有哪家像样的 Foundry 厂,除了台湾的 TSMC 在世界有立足之地,Fabless 的 IC 设计公司倒是挺强的如 Hisilicon,这也是它为什么会被 USA 针对的原因)。

新芯设计的博客 2012

【网络安全】SSRF漏洞讲解

SSRF漏洞讲解一、初识SSRF漏洞1.定义2.产生原理3.会导致的危害4.常见产生SSRF的地方5.常见缺失函数二、SSRF漏洞利用1.函数(1) file_get_contents(2)fsockopen()(3) curl_exec()2.协议(1)file协议(2)http协议(3)dict协议(4)gopher协议三、绕过1.绕过方式(1)检查IP是否为内网IP(2)Host获取与DNS绕过(3)通过各种协议(4)利用URL解析器滥用问题四、修复修复方案五、小结 一、初识SSRF漏洞 1.定义

你在看屏幕的同时,屏幕也在注视着你 3181

Hibernate数据查询

Session接口 Session接口里面本身所定义的数据查询只有一个根据ID查询的操作方法,但是这个方法有两个定义 根据主键查询: load(Class<T>theClass,Serializableid) 根据主键查询: get(StringentityName,Serializableid) get查询不存在的ID会返回null,而load会报错...

抛弃幻想,准备斗争 323

Python 爬虫实战:亚马逊 + eBay 商品信息跨平台抓取(价格 / 销量 / 评价对比)

亚马逊和 eBay 是全球知名的电商平台,拥有海量的商品信息。对于消费者来说,比较不同平台上的商品价格、销量和用户评价可以帮助他们找到性价比最高的商品。对于商家而言,了解竞争对手的商品信息有助于优化自身的产品策略和定价策略。然而,手动在两个平台上逐一比较商品信息是非常耗时且低效的。因此,开发一个能够自动抓取并对比这两个平台商品信息的爬虫工具具有重要的实际意义。

yansideyucsdn的博客 616

hibernate简介(Session,几种状态,方法······等)

Hibernate是什么? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。   对象关系映射简称ORM(Object Relational Mapping),由于我们目前使用的编程语言大都是面向对象的编程,使用的数据库也大多都是关系型数据库,数据得以对...

weixin_30609287的博客 141

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

hibernate session接口

session能够在某些时间点,按照缓存中对象的变化来执行相关的SQL语句,来同步更新数据库,这一过程称为刷新缓存(flush)。一般情况下,游离对象是由持久化对象转变过来的(session进行close、clear、evict等情况),数据库中可能还存在它对应的记录,但是因为会话已经消失,对象不在持久化管理之内,所以处于游离状态。session实例没有结束生命周期,且没有清理缓存,则存放在session缓存中的对象也不会结束生命周期,session缓存可以减少访问数据库的频率。

Lxn2zh的博客 1261

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hibernate简介(Session,几种状态,方法······等)概括全面,经典

2.Hibernate跟jdbc的关系          Hibernate封装JDBC,持久化内存中的对象,同步到数据库 .            1.关于封装,我得强调两点: (1).把尽可能多的东西藏起来.对外提供简捷的接口. (2)把所有的属性藏起来       当然我们,我们如果能够做到单一原则就更好了         2.关于持久化的概

三千弱水的专栏 771

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Hibernate4实战 之 第三部分:Hibernate的基本开发

Hibernate4实战 之 第三部分:Hibernate的基本开发 任。http://3001448.blog.51cto.com/2991448/1205816 1:瞬时(Transient) - 由new操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时的。瞬时对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。 如

技术何 483

hibernate之session接口

原文链接http://zhhll.com.cn/2020/12/04/%E6%A1%86%E6%9E%B6/hibernate/session%E6%8E%A5%E5%8F%A3/ session接口 Session接口是hibernate向应用程序提供的操纵数据库的最主要的接口,提供了保存、更新、删除和加载Java对象的方法。 session具有一个缓存,位于缓存中的对象成为持久化对象,和数据库中的相关记录对应。session能够在某些时间点,这一过

Lxn2zh的博客 450

Spring学习之(Hibernate)Session接口

Session接口是非线程安全的,要避免多线程操作,一般执行CRUD操作; Session对象的获得方法: Session sesion = sessionFactory.openSession(); Session sesion = sessionFactory.getCurrentSession();(注:Session对象获取后,不会立刻获取Connection对象,而是在Session对象需

mrzhangzifu的博客 297

Hibernate5的Session接口浅析

Session接口的基础知识 Session接口时Hibernate5中的核心接口,Session对象是Hibernate5技术的核心,持久化对象的生命周期、事务的管理及持久化对象的增加、修改和删除都是通过Session对象来完成的。Hibernate5在操作数据库之前必须先取得Session对象。 Session对象不是线程安全的,一个Session对象最好只由一个单一线程来使用。同时该对象的生...

monkey_wei的博客 861

Hibernate高级技术

1.核心接口Hibernate接口位于业务层和持久化层; 核心接口有五个: Session: session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句),但需要注意的是Session对象是非线程安全的,同时,Hibernate的Session不同于JSP应用中的HTTPSession。这里使用的Session是Hibernate中的S

qq_17724007的博客 368

【JAVA之Hibernate运行原理】

  1、Hibernate运行过程: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的&lt;mappingresource="com/xx/User.hbm.xml"/&gt;读取并解析映射信息 3.通过config.buildSessionFactory();//创建S...

138

Hibernate的Session详解

Sesison接口是Hibernate中一个最重要的持久化管理器。它能完成对持久化类实例的基本CRUD操作、执行条件查询、事物控制、持久化对象的生命周期等。 单线程,非共享的对象。线程不安全,在设计软件架构时,应避免多个线程共享同一个Session实例。 Session实例是轻量级的,它的创建和销毁不需要消耗太多的资源。可以为每个请求分配一个Session实例,在每次请求过...

weixin_30608503的博客 88

翻译的Hibernate的Session的javadoc

org.hibernateInterface SessionAll Superinterfaces: SerializableAll Known Subinterfaces: EventSource, SessionAll Known Implementing Classes: SessionImplpublic interface Session extend

虫二的专栏~~在路上~~~ 1549

org.hibernate.session

Java应用程序与Hibernate之间的主要运行时接口。它是抽象了持久化服务概念的核心抽象API类。 Session的生命周期绑定在一个物理的事务(tansaction)上面。(长的事务可能跨越多个数据库事物。) Session的主要功能是提供对映射的实体类实例的创建,读取

wmh0599的专栏 7059
上一篇: eclipse javaee版本配置tomcat并向tomcat发布工程 .
下一篇: C# Winform应用程序占用内存较大解决方法整理
draling
博客等级 码龄18年 40粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值