hibernate
文章平均质量分 70
EP小良_007
万物皆有裂痕,那是光透过来的地方
展开
-
java面试题_简单说明hibernate、Struts2、Spring、springMVC、mybatis的执行流程或者原理_1_hibernate
系列文章目录 文章目录系列文章目录hibernatehibernate 简介hibernate工作原理为什么要用hibernate/hibernate的优点Hibernate是如何延迟加载?get与load的区别Struts2SpringspringMVCmybatis hibernate hibernate 简介 hibernate 可以将其视为升级版的jdbc hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,使java程序员可以使用面向对象的思想来操纵数据库。原创 2021-07-10 07:58:13 · 226 阅读 · 2 评论 -
Java_SSH之Hibernate_002_06:一对多实体类和映射文件、一对多数据保存讲解、inverse的作用、用映射文件描述两个类之间的关系
系列文章目录 文章目录系列文章目录一、一对多实体类和映射文件二、一对多数据保存三、inverse的作用总结 一、一对多实体类和映射文件 多对多:提供中间表(从表),提供2个字段(外键)分别对应两个主表; 老师和学生,一个老师会给很多学生上课,一个学生也可能会上很多老师的课 一对多(或者多对一):主表的主键 与 从表外键 形成 主外键关系。 客户和订单 学生和班级,正常来说一个学生只能属于一个班,但是一个班可以有多个学生 一对一: 主外键关系。 那么在hibernate里面,用映射文件怎么描述两个类之间的关原创 2021-02-24 23:17:10 · 313 阅读 · 0 评论 -
Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错
文章目录一、save和persist方法的区别save方法:瞬时态 转换 持久态 ,会初始化OIDpersist方法:瞬时态 转换 持久态总结 一、save和persist方法的区别 save方法:瞬时态 转换 持久态 ,会初始化OID 1.执行save方法,立即触发insert语句,从数据库获得主键的值(OID值) 2.执行save方法前,设置OID将忽略。 3.如果执行查询,session缓存移除了,在执行save方法,将执行insert persist方法:瞬时态 转换 持久态 1、persist保原创 2021-02-23 15:57:28 · 368 阅读 · 0 评论 -
Java_SSH之Hibernate_002_04:一级缓存、快照、一级缓存刷新、 flush、HQL的结果会进行一级缓存,SQL的结果不会添加到一级缓存
系列文章目录 文章目录系列文章目录前言1、一级缓存2、(一级缓存的)快照☆一级缓存的细节总结 前言 1、一级缓存 一级缓存:又称为session级别的缓存。当获得一次会话(session),hibernate在session中创建多个集合(map),用于存放操作数据(PO对象),为程序优化服务,如果之后需要相应的数据,hibernate优先从session缓存中获取,如果有就使用;如果没有再查询数据库。当session关闭时,一级缓存销毁。 注意在这里,session就是一级缓存 2、(一级缓存的)快原创 2021-02-23 00:40:47 · 232 阅读 · 0 评论 -
Java_SSH之Hibernate_002_04:hibernate实体的三种状态、状态的转换过程
hibernate的实体类的三种状态、状态的转换过程 文章目录hibernate的实体类的三种状态、状态的转换过程一、三种状态二、状态的转换过程瞬时 转 持久:持久 转 脱管总结 一、三种状态 实体Entity有三种状态,瞬时状态、持久状态、脱管状态 1、瞬时状态:transient, session没有缓存,数据库也没有记录,oid没有值 2、持久状态:persistent, session有缓存,数据库也有记录,oid有值 3、脱管状态/游离状态:detached,session没有缓存,数据库有原创 2021-02-22 17:16:54 · 109 阅读 · 0 评论 -
Java_SSH之Hibernate_002_03:hibernate的动态插入&动态更新&type的使用、model的数据类型尽量不要设为int设置成integer
系列文章目录 文章目录系列文章目录前言一、hibernate的动态插入、动态更新model的数据类型尽量不要设为int设置成integerhibernate的动态插入动态更新二、type的使用总结 前言 前面的主键生成策略改回native 一、hibernate的动态插入、动态更新 model的数据类型尽量不要设为int设置成integer 实体类的属性的数据类型问题(model的数据类型尽量不要设为int) (一)定义实体类时,如果属性的类型定义成int类型,在前台jsp页面数据呈现时,会默认显示为0原创 2021-02-22 16:40:34 · 393 阅读 · 0 评论 -
Java_SSH之Hibernate_002_02:SQL、Hibernate和对象类型怎么对应、hibernate主键的生成策略(☆)讲解
系列文章目录 文章目录系列文章目录一、SQL、Hibernate和对象类型对应二、hibernate主键的生成策略讲解——重点总结 一、SQL、Hibernate和对象类型对应 代码里面怎么去对应数据库里面的数据类型 二、hibernate主键的生成策略讲解——重点 generator:id的生成策略 increment:也会自动增长id,但是它的这种增长是自己Hibernate实现 执行select max(id) 查询,这种会有线程并发问题(多线程同时执行max,哪个最大,直接懵逼,id原创 2021-02-21 18:32:25 · 135 阅读 · 0 评论 -
Java_SSH之Hibernate_002_01:hbm.xml映射文件讲解:实体类entity(model)的编写规则和OID、IDEA的使用、主键的含义、自然主键和代理主键
系列文章目录 文章目录系列文章目录一、hbm.xml映射文件讲解:实体类entity(model)的编写规则和OID二、使用步骤1.引入库总结 一、hbm.xml映射文件讲解:实体类entity(model)的编写规则和OID 概念、理论知识 实际操作 二、使用步骤 1.引入库 总结 ...原创 2021-02-21 00:41:59 · 416 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_08:hibernate的配置文件详解、hibernate.hbm2ddl.auto、hiberante.dialect:数据库方言(指定数据库)
系列文章目录 文章目录系列文章目录一、hibernate的配置文件详解回顾hibernate.hbm2ddl.autohiberante.dialect:数据库方言总结 一、hibernate的配置文件详解 回顾 之前我们已经知道这些了,现在回顾一下,以及继续探讨hibernate的配置文件 是否格式化是什么意思呢? hibernate.hbm2ddl.auto 我们现在来测试一下update 配置好之后,我们删除这张表,即使删除了这张表,它也是完全可以自动帮你创建好的 那么没有表能不能插入成原创 2021-02-20 22:46:04 · 138 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils
系列文章目录 文章目录系列文章目录前言一、Hibernate的工具类抽取讲解总结 前言 这里讲一个抽取工具类的思想 一、Hibernate的工具类抽取讲解 以前我们写数据库连接的时候,我们写过一个DbUtils工具类 那么我们的hibernate也可以写一个工具类 一般工具类我们都是写成静态的 静态代码块就是你第一次使用这个类的时候它就会调用 至此完毕 接下来我们看看怎么使用 关闭完会话之后我们怎么关闭工厂呢?我们这里的思路是监听程序结束之后把它关闭 总结 1、一般工具类我们都是写成静态的原创 2021-02-20 17:11:02 · 155 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_06:Criteria查询对象、SQLQuery查询对象的讲解
系列文章目录 文章目录系列文章目录前言一、Criteria查询对象二、SQLQuery查询对象总结 前言 根据前面的学习,我们得知HQL虽然可以完全做到面向对象,我们不用写sql代码,但是我们加条件还是得使用HQL语句 那么有没有办法都不写呢? Criteria确实可以做到完全面向对象,完全不用写sql语句 一、Criteria查询对象 QBC的意思就是使用 Criteria进行查询的意思 Criteria 是用来查询的,不需要写任何的sql语句 我们也跟之前一样,来进行一个查询,我们就来查询t_user原创 2021-02-20 15:56:28 · 356 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_05:Query查询对象和HQL讲解、Query分页查询和返回单行数据和返回多行数据的区别
系列文章目录 文章目录系列文章目录一、Query查询对象和HQL讲解二、Query分页查询和返回多行数据总结 一、Query查询对象和HQL讲解 HQL:Hibernate Query Language的缩写,就是Hibernate的查询语言 面向对象查询语言,最终底层要转成面向数据库查询语言 SQL:直接面向数据库查询语言 Query:用于查询的对象,可以设置查询条件和分页查询 表名改成对象名,字段名改成属性名即可 要注意,这种写法只能查询出结果集只有一条记录的,如果有1多条就会报错 二、Quer原创 2021-02-20 08:24:21 · 273 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_04:session的api(即session的方法):save、get和load、delete和update、get和load方法的区别【面试题】
系列文章目录 文章目录系列文章目录前言一、session的api——save、get和loadsaveget和load二、session的api——delete和updatedeleteupdate三、session的api——get和load方法的区别【面试题】总结 前言 一、session的api——save、get和load save save我们已经用了很多次了比如下图的把对象存到数据库里面去 get和load get就是获取数据的 这句代码就相当于 select * from User wh原创 2021-02-19 20:14:10 · 228 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_03:Transaction事务对象
系列文章目录 文章目录系列文章目录前言一、Transaction事务对象总结 前言 掌握Hibernate中怎么获取事务,开启、提交、回滚事务 一、Transaction事务对象 回滚事务 大概是这样的架构 try{ //开启 //session操作 //提交 } catch(e){ //回滚 } 扩展:不需要手动的管理事务,之后所有的事务管理都交予spring。 事务也可以在hibernate.cfg.xml配置文件中设置 <!-- 是否自动提交事务 --> <property n原创 2021-02-19 09:09:13 · 295 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_02:SessionFactory对象、hibernate入门
系列文章目录 文章目录系列文章目录前言一、SessionFactory对象总结 前言 一、SessionFactory对象 SessionFactory是专门生成session的 我们要看的是他们的地址是否一样,这样来确认它们是否是同一个对象 1.factory.openSession() 获取一个全新的session 2.factory.getCurrentSession() 获取一个与当前线程绑定的session 简单来说,就是你要配置一下才可以开启这个功能 a.要使用这个方法必须在hiber原创 2021-02-18 21:34:17 · 190 阅读 · 2 评论 -
Java三大框架SSH之Hibernate_001_02:Configuration 配置对象讲解、、添加映射的文件的三种方式、hibernate入门2
系列文章目录 文章目录系列文章目录前言一、常见问题注意 前言 其实上一篇文章我们看完之后还是有点懵的,我们下面再逐一解决这些困惑 一、常见问题 如果我们没有配置映射文件的话,可能会报这个错 添加映射的文件有两种方式:一种是在hibernate.cfg.xml里面去添加一个mapping标签【常用】 还有一种是在单元测试里面(或者实际项目中调用的时候) 调用Configuration对象的addResource 第三种方式 第三种方式,不看源码可能有点点迷糊,它是自动帮我们拼接的 注意添加原创 2021-02-18 17:45:28 · 107 阅读 · 0 评论 -
Java三大框架SSH之Hibernate_001_01:Hibernate简介、hibernate的简单使用讲解、hibernate的入门
系列文章目录 文章目录系列文章目录前言一、Hibernate简介?二、hibernate的简单使用讲解A.下载hibernate 的jar包,并导入到项目中(http://hibernate.org/orm/)B.创建数据库和表C.配置核心配置文件hibernate.cfg.xml【这个文件有连接数据库的配置】D.编写映射文件hibernate mapping(*.hbm.xml),【声明对象如何关联数据库表字段】E.调用hibernate的api总结 前言 我们要明白一个道理 数据库的框架不管是什么框架原创 2021-02-16 07:10:05 · 403 阅读 · 0 评论