
Hibernate
Hibernate学习笔记。
大桔骑士v
微软程序员,B站账号:大桔骑士v
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Hibernate学习笔记】11:使用one-to-many和many-to-one将N-M关联拆分为两个1-N关联
实际使用时原生的N-M关联用的不多,因为这样的N-M关联表是自动生成的,只能含有两个表的主键,而不能带有其它信息。但实际上往往会带有其它属性: 如订单本身可以有购买数目这一属性,还可以有当时折扣等属性。这时就要去人为建立订单表了,然后顾客到商品的N-M关联可以拆分成两个1-N关联,借助这个自己建立的订单表。 注意在1-N关联的配置时,1方映射文件的<set .../>里使用...原创 2018-04-29 17:51:13 · 452 阅读 · 0 评论 -
【Hibernate学习笔记】10:使用many-to-many的单向/双向N-M关联
上学期数据库有学过,只要是N-M关联,都要为这个关联关系单独生成一个数据库模式,即生成一张表出来。以记录哪条记录对应了哪条记录。 例如,顾客和商品之间的关联就是一个N-M关联,顾客可以购买多种商品,一种商品也可以由很多顾客购买。 单向N-M关联 在单向N-M关联中,只要一方对于另外一方是可寻的,所以体现在PO上就是一个对象组合了一个另一个对象的集合作为属性。 在映射文件中,只要在组合了...原创 2018-04-29 15:15:49 · 462 阅读 · 0 评论 -
【Hibernate学习笔记】9:基于唯一外键/共享主键的双向1-1关联
首先需要明确一件事,在ORM的管理下,因为关联方式的不同,单从一个类的结构没法看出表的确切结构,也不能从一张表的结构看出对应的类的确切结构。 在双向1-1关联中的两个类,必会去组合对方的对象作为属性,这样在面向对象层面才是互相可寻的。 基于唯一外键的双向1-1关联 在用唯一外键建立双向1-1关联时,外键可以放在两张表的任意一边。需要为存放外键的一端配置<many-to-one ...原创 2018-04-27 23:25:11 · 428 阅读 · 0 评论 -
【Hibernate学习笔记】8:基于唯一外键/共享主键的单向1-1关联
基于唯一外键的单向1-1关联 只要为单向N-1关联中,N方配置文件的<many-to-one>元素手动设定unique="true"属性,就实现了基于外键的单向1-1关联。 <many-to-one>元素在默认情况下,unique约束为false,即代表单向N-1关联,如多个学生可以有同一个班主任老师: <many-to-one name="tchr" colu...原创 2018-04-27 19:44:35 · 372 阅读 · 0 评论 -
【Hibernate学习笔记】7:单向1-N关联和双向1-N关联,其中的Lazy Loading(懒加载)
单向1-N关联 如果在Teacher的POJO中组合了所有该老师带的Student对象,而在Student的属性中没有他所属的Teacher,这种情况就是单向1-N关联,即从1的一方去维护所有的相关的N。 在教师的POJO类添加 // 新增的该老师所带的全部学生,设定HashSet的初始容量是0 private Set<Student> set_stu = new HashSet...原创 2018-04-21 12:47:41 · 433 阅读 · 0 评论 -
【Hibernate学习笔记】6:单向N-1关联关系的使用demo
Hibernate的一个优势就是处理关联关系时比单纯使用JDBC更方便。 单向N-1关联如N个学生对应一个班主任,这时需要在学生(N的一方)表中添加所属的班主任的字段。因为从班主任表中并不清楚班主任带了哪些学生,所以是学生向班主任的单向关联。 POJO类 Student.java 注意通常在持久化类中将时间日期类型设置为java.util.Date,而不是它的子类java.sql....原创 2018-04-20 21:44:31 · 427 阅读 · 0 评论 -
【Hibernate学习笔记】5:了解POJO的状态,构建和使用Hibernate工具类
Hibernate中POJO的状态 画张图记录: Session关闭或者Transaction提交时会将缓存中的数据写入数据库中。close()和clear()会影响所有和Session关联的POJO。 处于持久化状态的POJO即是PO(持久化对象),处于瞬时状态和脱管状态的POJO属于VO(值对象)。 一个Hibernate工具类 书上提供的能够会Hibernate常用...原创 2018-04-19 23:48:47 · 483 阅读 · 0 评论 -
【Hibernate学习笔记】4:认识HQL-Query查询和Criteria查询
简述 这是Hibernate提供的两种方便的查询数据库的方式。先在数据库中多插入两条数据用于测试: 注意,像查询这种不改变数据库表的操作,在事务提交之前就已经完成,完全不必等到提交事务之后再去使用它。 另外,Hibernate要求集合属性必须声明为接口,因为当进行持久化时它会将这个接口下转型为自己的集合实现类。所以在查询中也需要使用接口类型回调查询结果! HQL-Query查询 使用...原创 2018-04-19 18:26:05 · 877 阅读 · 0 评论 -
【Hibernate学习笔记】3:Hibernate的基本使用流程demo
PO类和ORM映射文件就使用笔记2的,在配置文件中配置为本地的一个MySQL数据库,并注册所有的ORM映射文件。 hibernate.properties #设定为MySQL方言类 hibernate.dialect=org.hibernate.dialect.MySQLDialect #设定MySQL驱动,这种类将以泛型的方式从配置文件加载 hibernate.connection....原创 2018-04-19 10:45:31 · 328 阅读 · 0 评论 -
【Hibernate学习笔记】2:编写持久化类和对应的映射文件
POJO和PO POJO是受ORM管理的JavaBean,在Hibernate框架里就是受Hibernate管理的JavaBean,这个管理是通过上篇学的配置文件,以及这篇要学的映射文件来实现的。 PO则是Presistent Object,是持久对象。POJO终究是一个普通的Java对象,还是用new 构造器的方式创建,由gc回收的;但PO则和数据库的记录做了关联,对PO的修改将受ORM框架...原创 2018-04-18 23:14:40 · 1362 阅读 · 0 评论 -
【Hibernate学习笔记】1:环境部署,两个配置文件的书写
简述 Hibernate是Red Hat公司下的一个开源的ORM(对象关系映射)框架,可以将类的对象和关系型数据库表中的行映射起来,这样更加方便面向对象的编程,而不用去直接操作数据库。 类的属性映射为关系表的字段,类的每个实例映射为关系表中的元组(一行)。 之前直接将POJO理解为JavaBean,这是不准确的,POJO是受ORM管理的JavaBean。 环境部署 现在的最新版本是5...原创 2018-04-18 20:43:22 · 323 阅读 · 0 评论