我的见解之hibernate(二)

手把手教你用STM32F030实现功率MOS双脉冲测试(附完整电路图) 本文详细介绍了如何使用STM32F030微控制器搭建功率MOSFET双脉冲测试平台。通过分析双脉冲测试原理,提供了完整的硬件电路设计、驱动电路选型、软件时序生成方法,并指导如何利用示波器捕获和分析开关波形,从而评估功率器件的动态特性与开关损耗。 阅读详情

下面补全对上篇文章第四步的几个变量解析

<span style="font-size:24px;">
		SessionFactory sessionFactory = null;

               Configuration configuration = new Configuration().configure();

               ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
									.applySettings(configuration.getProperties())
                                                                        .buildServiceRegister();
		
		sessionFactory = configuration.buildSessionFactory(serviceRegistry);
		
		Session session = sessionFactory.openSession();
		
		Transaction transaction = session.beginTransaction();
		
		News news = new News("JAVA", "jiangtao", new Date(new java.util.Date().getTime()));
		
		session.save(news);
		
		transaction.commit();
		
		session.close();

		sessionFactory.close();</span>

Cofiguration:用来读取hibernate配置文件信息的,包括hibernate.cfg.xml文件,包括*.hbm.xml文件,也就是说,它包括了访问数据库的基本信息,方言等

创建configuration有两种方式:

①属性文件(hibernate.properties):  Configuration cfg = new Configuration();

②Xml文件(hibernate.cfg.xml) Configuration cfg = new Configuration().configure();

Configuration 的 configure 方法还支持带参数的访问:
        File file = new File(“simpleit.xml”);
        Configuration cfg = new Configuration().configure(file);

ServiceRegister: Hibernate4 新增了一个 ServiceRegistry 接口,所有基于 Hibernate 的配置或者服务都必须统一向这个 ServiceRegistry  注册后才能生效

SessionFactory:创建session的工程,线程安全的,一经构造就被赋予特定的配置信息(不可变),创建SessionFactory很浪费资源,所以一个项目一般只创建一个SessionFactory

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

Session 类的方法:
取得持久化对象的方法: get() ,load()
持久化对象都得保存,更新和删除:save(),update(),saveOrUpdate(),delete()
开启事务: beginTransaction().
管理 Session 的方法:isOpen(),flush(), clear(), evict(), close()等

Transaction:事务,代表一个原子操作,要么同时完成,要么同时不完成,方法有commit(),rollback(),wasCommitted();


hibernate.cfg.xml文件中的两个配置项解析

hbm2ddl.auto:该属性可帮助程序员实现正向工程, 即由 java 代码生成数据库脚本, 进而生成具体的表结构. 。取值 create | update | create-drop | validate
    create : 会根据 .hbm.xml  文件来生成数据表, 但是每次运行都会删除上一次的表 ,重新生成表, 哪怕二次没有任何改变
    create-drop : 会根据 .hbm.xml 文件生成表,但是SessionFactory一关闭, 表就自动删除
    update : 最常用的属性值,也会根据 .hbm.xml 文件生成表, 但若 .hbm.xml  文件和数据库中对应的数据表的表结构不同, Hiberante  将更新数据表结构,但不会删除已有的行和列
    validate : 会和数据库中的表进行比较, 若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常
format_sql:是否将 SQL 转化为格式良好的 SQL . 取值 true | false


如何在 FPGA 中做数学运算 FPGA 非常适合进行数学运算,但是需要一点技巧,所以我们今天就看看如何在 FPGA 中进行简单和复杂的数学运算。介绍由于FPGA可以对算法进行并行化,所以FPGA 非常适合在可编程逻辑中实现数学运算。我们可以在 FPGA 中使用数学来实现信号处理、仪器仪表、图像处理和控制算法等一系列应用。这意味着 FPGA 可用于从自动驾驶汽车图像处理到雷达和飞机飞行控制系统的一系列应用。因为 FPGA 寄存器... 阅读详情

相关推荐

DenseNet训练实践

在Cifar10上训练DenseNet,复现DenseNet论文的结果是后面两篇分析工作的基础,因此本系列的第一篇,将首先讨论深度学习的训练过程中的几个方面: 1. 数据集 1.1 Cifar10数据集 Cifar10数据集有6万张32X32的图片,是一个小型的数据集,但数据的复杂度足够,下图来自DenseNet论文,可以看出,不用数据增强的话,ResNet的正确率也很难超过90%,因而足以用来验...

一蓑烟雨任平生 1万+

01_Hibernate持久化

一.简介 思考:为什么使用Hibernate? Hibernate对JDBC访问数据库的代码进行了封装、 Hibernate是一个基于JDBC的主流持久化框架、 Hibernate的性能比较好,它是一个轻量级框架、 什么是持久化? 是将内存中的数据保存到磁盘等存储设备。 瞬时状态:保存在内存的程序数据,程序退出后...

含江君 308

Unity Spine 3.8 (URP) 踩坑(Shader报错修改)

提供了新思路,打算尝试一下URP。但美术使用的spine版本是3.8,项目用的Unity2021.3.11f1c2,直接导入spine URP包,shader报错:half4 不能转成 SurfaceData2D;Spine-Sprite-StandardPass-URP-2D.hlsl 也报这个错,也是同样的改法即可。今天搜索spine优化,看到一篇文章。

hrlr1230的博客 4570

java.lang.NoClassDefFoundError: Could not initialize class xxx.xxx.xxx.HibernateUtil的解决方法

新手刚开始学hibernate,配置环境,搭建好后总是无法初始化HibernateUtil类,搜索网上的解决方案,整理一下。1、该类没有初始化的错误很大可能是hibernate.cfg.xml文件配置错误,其中注意hibernate首字母小写。读取hibernate.cfg.xml的Configuration cfg = new Configuration().configure()方法里可以设置...

zunwangtianqian的博客 1万+

稀疏变分高斯过程【超简单,全流程解析,案例应用,简单代码】

稀疏变分高斯过程(Sparse Variational Gaussian Processes, SVGP)是一种高效的高斯过程(GP)近似方法,它使用一组称为引入点的固定数据点来近似整个数据集。这种方法大大减少了高斯过程模型的计算复杂度,使其能够适用于大数据集。下面是SVGP的详细数学过程。在标准高斯过程中,给定数据集xiyii1N{(xi​yi​i1N​,目标是学习一个映射fff,其中f∼GPmkf∼GPmkmmm是均值函数,kkk。

刘文凯的博客 3660

基于大模型的围术期谵妄防控系统研究报告

围术期谵妄是一种急性脑功能障碍综合征,通常发生在手术前后一段时间内。患者会出现意识障碍、注意力不集中、认知功能紊乱、睡眠 - 觉醒周期失调等症状,严重者甚至会出现幻觉、妄想和攻击行为 。这种病症不仅会给患者自身带来极大的痛苦,还会对其术后康复产生严重的负面影响。从患者角度来看,围术期谵妄会显著延长患者的住院时间,增加患者的医疗费用负担。有研究表明,发生谵妄的患者住院时间平均比未发生者延长 2 - 3 天。长时间的住院不仅会影响患者的生活质量,还可能导致患者错过最佳的康复时机,影响身体机能的恢复。同时,谵妄还

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1072

我的见解之hibernate(五)

Session的方法 save():使一个临时对象转变为持久化对象,先放入session缓存中,在flush的时候执行一条insert语句,插入数据库。如果在指定了OID的生成方式时,new出对象并尝试给id赋值,也没用,数据库本地依旧采用给定的方式生成主键 News news = new News("JAVA","guo",new Date()); news.setId(50000);

Java_Soldier的博客 7666

Halcon 形态学 开发案例 (开运算opening(先腐蚀再膨胀)、闭运算closing(先膨胀再腐蚀))

算子方法:功能:使用用户自定义的结构元素对区域进行开运算参数: Region(输入参数) :输入区域 StructElement(输入参数) :结构元素(区域) RegionOpening(输出参数) :开运算后的区域功能:使用圆形结构元素对区域进行开运算参数: Region(输入参数) :输入区域 RegionOpening(输出参数) :开运算后的区域 Radius(输入参数) :圆形结构元素的半径功能:使用矩形结构元素对区域进行开运算。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1619

我的见解之hibernate(八)

内容:详解*.hbm.xml关系映射配置文件 hibernate-mapping     类层次:class     主键:id     基本类型:property     实体引用类: many-to-one  |  one-to-one     集合:set | list | map | array     one-to-many     many-to-many     子

Java_Soldier的博客 7752

UE5 推荐的资产命名规范

在开发阶段中,随着 虚幻引擎(UE)(Unreal Engine (UE)) 项目日益复杂,内容浏览器(Content Browser) 中的 资产(Assets) 列表会不断扩充。这会导致资产出现各种变体版本,也会导致资产名称因过于相似而造成混淆。比如,你有一个文件夹名为"Soldier",这个文件夹中有蓝图、纹理和模型,它们的名称中都带"Soldier"一词,但在简单列表中,很难区别它们。

一碗清深的博客 3375

AgentScope实战训练营-Java开发HITL人机协作AI应用完整指南

本文手把手带你从零搭建一个基于 Spring Boot WebFlux + AgentScope + 通义千问的人机协作(HITL)AI 聊天应用。项目涵盖流式对话、工具调用、高危操作确认、对话中断、动态 MCP 工具接入、中英文双语界面等完整功能。文章从环境准备、pom.xml 配置、DTO 数据模型、Hook 机制、AgentService 核心服务、ChatController 接口到前端 HTML/CSS/JS 实现,逐一讲解每行代码的设计意图,并附带 REST API 接口说明、测试场景、常见问题

program哲学 713

关于hibernate的见解

Hibernate:     什么是hibernate:         Hibernate它是一个轻量级的jdbc封装,也就是说,我们可以使用hibernate来完成原来我们使用jdbc完成操作,就是与数据库的交互操作。它是在dao层去使用的。         对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping)   

github_39191620的博客 523

2025.06.06【Ribo-seq】|riboWaltz:P-site定位与三碱基周期性分析流程

同学们,大家好!今天我们要学习的是riboWaltz——一款专为Ribo-seq(核糖体足迹测序)数据设计的R包,主要用于P-site定位优化和三碱基周期性分析。P-site的准确定位是Ribo-seq下游所有翻译组学分析的基础,riboWaltz为我们提供了系统、可视化、易用的解决方案。P-site定位优化:自动识别不同长度RPF的最佳P-site偏移量。三碱基周期性分析:可视化RPF在CDS、UTR等区域的分布,评估数据质量。多样本/多条件支持:可同时处理多个样本,便于批量分析和对比。

1797

我的见解之hibernate(七)

hibernate.cfg.xml的一些配置        10 5 2 2000 2000 10 100 30 hibernate.jdbc

Java_Soldier的博客 7817

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

我的见解之hibernate(九)

Hibernate 把持久化类的属性分为两种: 值(value)类型: 没有 OID, 不能被单独持久化, 生命周期依赖于所属的持久化类的对象的生命周期 实体(entity)类型: 有 OID, 可以被单独持久化, 有独立的生命周期 显然无法直接用 property 映射 pay 属性 Hibernate 使用 元素来映射组成关系, 该元素表名 pay 属性是 Worker 类一个

Java_Soldier的博客 7529

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

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

我的见解之hibernate(三)

通过Session操纵对象 Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步更新数据库, 这一过程被称

Java_Soldier的博客 3033

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

我的见解之hibernate(十三)

HQL检索方式 HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能: 在查询语句中设定各种查询条件 支持投影查询, 即仅检索出对象的部分属性 支持分页查询 支持连接查询 支持分组查询, 允许使用 HAVING 和 GROUP

Java_Soldier的博客 7695

Hibernate简单得见解

Hibernate.cfg.xml  连接数据库用的  设置数据库方言(dialect)  设置数据库驱动  可设置展示sql以日志形式展示(show_sql) 并且格式化输出sql(format_sql)  更直观可读性高   设置会话的管理方式(和线程进行绑定)指定当前session范围和上下文由谁来跟踪管理   Hibernate中的实体类我觉得很有必要实现Serializable接口 ...

Mr_ZhangAdd的博客 319

我的见解之hibernate(六)

通过 Hibernate 调用存储过程 Work 接口: 直接通过 JDBC API 来访问数据库的操作 Session 的 doWork(Work) 方法用于执行 Work 对象指定的操作, 即调用 Work 对象的 execute() 方法. Session 会把当前使用的数据库连接传递给 execute() 方法.

Java_Soldier的博客 7616

json+hibernate死循环问题的一点见解

Method public java.lang.String org.apache.commons.lang.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on net.sf.json.JSONException: There is a cycle in the hierarch

lkl713的专栏 6194

我的见解之hibernate(四)

站在持久化的角度, Hibernate 把对象分为 4 种状态: 持久化状态, 临时状态, 游离状态, 删除状态. Session 的特定方法能使对象从一个状态转换到另一个状态. 临时对象(Transient): 就是我们new的就是临时状态,他还没有OID 在使用代理主键的情况下, OID 通常为 null 不处于 Session 的缓存中 在数据库中没有对应的记录

Java_Soldier的博客 7631

关于hibernate的一点见解

用了hibernate开发项目已经很久了,尤其是delete(Object obj)方法,我个人一直认为delete只能删除persist状态的对象,正如api所说:voiddelete(Object object)           Remove a persistent instance from the datastore.不过今天我无意之中,使

zcl198715的专栏 508

我的见解之hibernate(十)

映射双向n-1关系: 举个简单的例子,顾客和订单的关系,一个顾客可以拥有多个订单,而多个订单可以同时属于一个顾客,这就是双向n-1关系, 在Customer一端,需要持有装载着Order集合的引用 /* * 1. 声明集合类型时, 需使用接口类型, 因为 hibernate 在获取 * 集合类型时, 返回的是 Hibernate 内置的集合类型, 而不是 JavaSE 一个标准的

Java_Soldier的博客 7481

我的见解之hibernate(十二)

hibernate的检索策略 检索数据时的 2 个问题: 不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存. 更高的查询效率:发送尽可能少的 SQL 语句 类级别的检索策略 类级别可选的检索策略包括立即检索

Java_Soldier的博客 7283

Hibernate的一级缓存见解

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

weixin_34270865的博客 105

hibernate与mybatis个人见解

之前都是在用mybatis做数据交互层这块,现在公司用hibernate。习惯了使用mybatis之后,总觉得hibernate这个框架使用起来并没有那么舒服。 1、在数据库操作方面的区别:hibernate将数据库操作语句封装起来,这样一来,整个框架会提高系统的开发速度,因为sql语句不需要自己来编写,但是如果说需要用到比较复杂的数据库操作的时候,hibernate的缺陷就暴露出来了。hibe...

zchZ01的博客 264
上一篇: hibernate基本介绍及基本配置(一)
下一篇: 我的见解之hibernate(三)
Java_Soldier
博客等级 码龄10年 27粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值