Hibernate接口Session详解

ORB-SLAM3在windows11下的编译使用 近期在学习SLAM,想部署一下ORB-SLAM3,但是自己电脑是win11系统,因此就想着在win11上部署一下。但是网上看了一些教程,有一些博客,但是可能不适合我这种情况把,就很纠结。先说下结果,配置成功,过程极其痛苦。 阅读详情
原文地址: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();

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 阅读详情

相关推荐

转录组数据提取技巧汇总

数据整理是数据分析的前提,而数据的正确提取则是数据整理的前提。

zfyyzhys的博客 1784

hibernate中的Session详解

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

li286487166的博客 1369

西门子1500T插补控制实战:从硬件组态到轨迹规划

本文详细解析了西门子1500T插补控制的完整实战流程。从硬件组态中正确选择带T的CPU和配置报文105,到创建同步轴与插补器工艺对象,再到使用MC_Interpolator功能块编程实现直线与圆弧插补,并分享了调试技巧与常见问题解决方案,为工程师实现高精度复杂轨迹规划提供清晰指导。

weixin_29228781的博客 423

Hibernate异常与会话

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

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

王珊数据库系统概论第5版视频教材

目录 隐藏 说明:本课程共包括1种电子书、84个高清视频(共68课时)、1种纸质书(赠品)。 网授课程 王珊《数据库系统概论》(第5版)网授精讲班【共68课时】 序号 名称 课时 1 第1章 绪 论(1) 00:32:25 2 第1章 绪 论(2) 00:17:03 3 第1章 绪 论(3) 00:50:19 4 第1章 绪 论(4) 00:20:37 5 第1章 绪 论(5) 00:24:47 6 第2章 关系数据库(1) 00:47:23 7 第2章 关系数据库(2) 00:14:48 8 第2章 关系

mrtaoy96的博客 1146

华为海思IC前端中后端(COT&XPU)岗位笔试机考题

华为海思COT和XPU部门IC前端,IC中端,IC后端岗位笔试真题分享

weixin_37584728的博客 3362

(Hibernate)Session接口详解

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

weixin_34119545的博客 238

第3章 zynq MII转GMII的配置和EMIO UART0的配置

本文介绍了在Vivado工程中实现MII转GMII接口适配的过程,同时配置EMIO UART0接口。主要内容包括:修改PS IP核添加UART0接口,使用concat IP核进行信号整合,调整GMII信号引脚连接,添加约束文件定义引脚映射,并最终生成bit流文件。通过详细的操作截图和TCL约束代码,展示了从硬件配置到生成可编程文件的完整流程,为Zynq平台开发提供了实用参考。

qq_36517072的博客 903

hibernate学习笔记二之使用hql

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

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

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大

1712

YOLOv11改进策略【卷积层】| CVPR-2023 部分卷积 PConv 轻量化卷积,降低内存占用

本文记录的是利用优化的目标检测方法研究。深度可分离卷积可以减少FLOPs,但会导致更高的内存访问,引起延迟并减慢整体计算。部分卷积利用逐点卷积处理通道冗余,减少模型计算量和内存访问量。Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks的实现代码如下: 四、创新模块 4.1 改进点⭐ 模块改进方法: 1️⃣ 加入。添加后如下:2️⃣:加入基于的。利用改进模块,减少通道冗余。改进代码如下:首先添加如下代码让加入,并重命名为 再添加如

Limiiiing的博客 3875

Hibernate数据查询

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

抛弃幻想,准备斗争 323

L型探测器几何畸变矫正

定位像素空间位置 -> 计算水平面投影点 -> 统一物理分辨率 -> 重采样生成新图。

如果想成为中心,那么就到中心去吧。 241

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

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

weixin_30609287的博客 141

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

hibernate session接口

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

Lxn2zh的博客 1261

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

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

三千弱水的专栏 771

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

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

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、付费专栏及课程。

余额充值