![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
鹏哥哥啊Aaaa
这个作者很懒,什么都没留下…
展开
-
hibernate基础(十六):hql
1.hql查询 (1).List<Classes> classList = session.createQuery("from classes").list(); (2).List<Classes> classList = session.createQuery("select cid,cname from classes")...原创 2019-02-21 14:47:39 · 129 阅读 · 0 评论 -
hibernate基础(十四):二级缓存
1.二级缓存是SessionFactory级别的缓存。2.hibernate启动,二级缓存就存在;hibernate关闭,二级缓存就关闭 注:hibernate本身对二级缓存是关闭的,且没有实现二级缓存的机制3.二级缓存存放的是共有数据4.步骤 (1).在hibernate.cfg.xml中添加 ...原创 2019-02-21 10:42:34 · 340 阅读 · 0 评论 -
hibernate基础(十三):session缓存
1.生命周期 session创建,缓存存在;session.close(),缓存关闭2.缓存的性质 session缓存中存放私有数据。因为是从ThreadLocal中产生的,所以线程安全3.操作 (1).数据库中的数据怎么加载到缓存中? session.get()、load...原创 2019-02-21 10:04:29 · 114 阅读 · 0 评论 -
hibernate基础(七):对象的状态
1.hibernate对象状态分成三种:临时状态,持久化状态,游离状态 (1).临时状态:利用关键字new创造出来的对象 (2).持久化状态:session.load(),session.get(),session.save(),session.upload() (3).游离状态:session.evict(),session...原创 2019-02-13 16:26:25 · 109 阅读 · 0 评论 -
hibernate基础(六):主键的生成机制
在*.hbm.cfg映射文件中,主键的生成机制是可以自己设置的: <id name="pid" column="pid" length="5" type="java.lang.Long"> <generator class="increment"></generator&原创 2019-02-13 15:55:11 · 193 阅读 · 0 评论 -
hibernate基础(五):ThreadLocal的概念
1.ThreadLocal是一个线程类,是某一个线程的私有对象2.在ThreadLocal中存放的数据只能当前线程访问原创 2019-02-13 15:47:30 · 226 阅读 · 1 评论 -
hibernate基础(四):持久化类实现Serializable的意义
将对象变成二进制原创 2019-02-13 15:45:50 · 169 阅读 · 0 评论 -
hibernate基础(三):hibernate的基本增删改查
持久化类中必须要有一个默认的构造函数注:创建Configuration,sessionFactory,session,transaction见上一章,此处省略1.增 Person person = new Person(); person.setName("aa"); session.save(person);2....原创 2019-02-13 15:45:00 · 108 阅读 · 0 评论 -
hibernate基础(二):hibernate组成部分+执行流程
hibernate = 映射文件 + 配置文件 + 持久化类 1.映射文件:*.hbm.xml(将数据库表与java类建立连接) 数据库表与java类的映射 数据库类型与java类属性类型的映射 数据库字段与java类属性名的映射 一对多、多对多如何转化为面向对象的关系2.配置文件:hibe...原创 2019-02-13 15:30:39 · 149 阅读 · 0 评论 -
hibernate基础(一):对象关系映射+与jdbc的比较
1.对象关系映射:orm (1).hibernate是操作数据库的框架,底层是通过jdbc来操作数据库的 (2).是用面向对象的方式操作的数据库 2.与jdbc的比较 (1).jdbc缺点: 代码繁琐,关闭资源麻烦,不是面向对象的数据库操作,没有数据缓存,移植性比较差 ...原创 2019-02-13 14:31:34 · 136 阅读 · 0 评论 -
hibernate基础(十二):session的产生方式
1.Session session = sessionFactory.openSession();//该代码会创建一个新的session2.sessionFactory.getCurrentSession(); (1).先判断当前线程有没有session 如果有,获取当前session。否则,用1的方法创建一个新的sessi...原创 2019-02-17 12:57:39 · 134 阅读 · 0 评论 -
hibernate基础(十一):抓取策略
1.意义:抓取策略研究的是一的一端怎么去查询多的一端。研究的对象是set集合 应用场景:一对多,多对多 2.看个例子<hibernate-mapping> <class name="domain.student" table="student"> <id name="sid" column="sid"原创 2019-02-17 12:28:16 · 113 阅读 · 0 评论 -
hibernate基础(十):延迟加载(懒加载)
1.懒加载的作用:提高效率 2.类的懒加载 (1).使用:lazy属性设置为true才行<hibernate-mapping> <class name="com.domain.user" table="user" lazy="true"> ... </class></hiberna原创 2019-02-17 11:22:26 · 188 阅读 · 0 评论 -
hibernate基础(九):多对多双向关联
1.一对多关联和多对多关联是怎么实现的 一对多关联:前文说过,主表在子表中设置外键,通过外键将一和多关联起来 多对多关联:除了主表和子表之外,我们需要新增一个维护他们关系的表。这个表里存入主表的主键和子表的主键,通过主子表之间的一一对应来确定多对多的关系 注:所以,我们知道,多对多的关键在于那张关系表。而...原创 2019-02-17 10:51:39 · 200 阅读 · 0 评论 -
hibernate基础(八):一对多单双向关联(外键,cascade,inverse)
1.外键: 一张主表对应子表的时候,需要将自己的主键告诉子表,子表将主表的主键存在自己的表里,通过这个字段来维持和主表的关系。子表中的这个字段就是它的外键 2.级联(cascade): hibernate中,因为主子表通过外键产生了关系,很多时候,我们对主表做出修改的时候,子表其实也需要跟着变。但是每次都人为的去改变子表其实很麻烦,因为这种...原创 2019-02-17 10:27:09 · 324 阅读 · 0 评论 -
hibernate基础(十七):hibernate总结
1.基本操作 (1).CRUD (2).主键的生成机制 (3).类型 (4).持久化类 (5).映射文件 (6).配置文件2.关系部分 (1).一对多 (2).多对多 (3).ca...原创 2019-02-21 14:51:35 · 107 阅读 · 0 评论 -
hibernate基础(十五):查询缓存
1.查询缓存是建立在二级缓存基础上的2.查询缓存默认是关闭的,所以在hibernate.cfg.xml中开启查询缓存 <property name="cache.use_query_cache">true</property>3.Query query = session.createQuery("");//利用query可使用查询缓存...原创 2019-02-21 11:55:59 · 125 阅读 · 0 评论