![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
文章平均质量分 55
听风听雨oline
这个作者很懒,什么都没留下…
展开
-
Hibernate框架简介
一、Hibernate简介1、Hibernate:是一个开放源代码的ORM(object relational mapping,对象关系映射)框架,是对JDBC的轻量级对象封装。优点:a:对JDBC访问数据库的代码做了封装,简化了数据访问层繁琐的重复性代码,减少了内存消耗,加快运行效率。b:基于JDBC的主流持久化框架,简化了DAO层编码工作。c:使用java的反射机制,不使用字节码增强...原创 2018-12-08 15:37:11 · 540 阅读 · 0 评论 -
Hibernate(5.3.7版本)核心XML文件
1、*.hbm.xml文件详解该文件是将对象持久化到关系型数据库中的相关信息,结构基本相同:<?xml version="1.0"?><!--映射文件的dtd信息--><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate...原创 2018-12-08 15:47:23 · 419 阅读 · 0 评论 -
Hibernate(5.3.7版)核心API
1、Configuration该接口只存在系统初始化阶段,将SessionFactory创建完成,语法如下:Configuration configuration = new Configuration().configure();或者:Configuration configuration = new Configuration().configure("xml文件位置");2、S...原创 2018-12-08 15:53:36 · 593 阅读 · 0 评论 -
Hibernate(5.3.7)的三种关联关系
1、一对多(双向关联)双向关联较为耗费资源,因此在实际开发中,使用单向关联(在下文代码中有注释)即可。多的一方的POJO类需要有私有化的一的一方的实例即://多对一客户类属性private Customer customer;一的一方的POJO类需要有私有化的多的一方的Set集合://一对多订单集合private Set<Order> orderSet = new Ha...原创 2018-12-08 16:00:30 · 245 阅读 · 0 评论 -
Hibernate(5.3.7)关联关系中的反转和级联
1、反转:反转操作在映射文件中通过对集合的inverse属性设置,来控制关联关系和对象的级联关系。inverse默认为false,关系的两端都能够控制,但会造成更新时出现重复更新的情况,产生多余的SQL语句。所以在实际开发中,一对多的时候,将一的一方inverse设置为true,即由多的一方维护关联关系;多对多则任意设置一方即可。(ps:inverse只对&amp;amp;lt;set&amp;amp;gt;、&amp;amp;lt;one...原创 2018-12-08 16:09:08 · 519 阅读 · 0 评论 -
Hibernate(5.3.7)检索方式
1、导航对象图检索方式根据已经加载的对象,导航到其他对象,利用类与类之间的关系来检索对象。例如:Order order = (Order) session.get(Order.class,1);Customer customer = order.getCustomer;2、OID检索指使用Session的get()和load()方法加载某条记录对应的对象。Customer cust...原创 2018-12-08 16:27:00 · 285 阅读 · 0 评论 -
Hibernate(5.3.7)的二级缓存
hibernate提供了两个级别的缓存。第一个级别:Session级别,属于事务范围,由hibernate管理,一般无须干预。第二个级别:SessionFactory级别,属于进程范围,是一个可插拔缓存插件,由工厂管理。原理与分类:根据对象的ID加载和缓存数据。当执行查询获得的结果集为实体对象的时候,hibernate会把获得的实体对象按照ID存到二级缓存中。在访问指定对象时,先从一级缓...原创 2018-12-08 16:35:45 · 873 阅读 · 0 评论 -
Hibernate(5.3.7)使用流程
一:导包 (版本5.3.7)hibernate5.3.7\hibernate-release-5.3.7.Final\lib\required下的全部包包链接二:编写hibernate.cfg.xml配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC ...原创 2018-12-08 16:43:51 · 1126 阅读 · 0 评论 -
Hibernate(5.3.7)基本操作
准备工作:这种做法不可取,因为最好是要单独的一个HibernateUtil类(因为SessionFactory最好是唯一的)来生成session会话对象的,但我这里图省事,就这样写了,因为测试较为方便。详细的可以看我的笔记:Hibernate精通笔记 /** 得到session方法 * @return */ protected Session getSession() { //加...原创 2018-12-08 16:52:29 · 657 阅读 · 0 评论