Hibernate in action阅读笔记-吵吵冷饭-映射持久类

举例域模型

一对多,类型与子类型,多对多,类型与条目

实现域模型

只关注持久化,不关注其他的consern,比如事物,安全

持久化过程是透明,用户只关注持久化类,持久化类可以用于其他架构层,比如业务层,和UI层。集合类只面对接口

域模型对象就是简单POJO

实现领域对象关联,父子关系,多对多关系

POJO的存取方法,可以写些逻辑,比如校验输入参数等。

定义映射模型

用XML定义元数据

基本属性和类定义,

使用公式定义,

属性存取策略,可以property,大多数,都用,field是通过反射,或自己定义属性存取策略。

控制插入和更新属性,有不变恒的,也有插入和更新,也有不变的属性,也要插入和更新的时候,在SQL体现出来,对性能会有影响。

指定SQL模式

声明类名,类包

面向属性编程

动态处理元数据。

对象身份

对象相同和相等的区别,相同在jvm中同一个内存地址,相等可以使内容相同

hibernate的对象身份对应某条记录的主键,或唯一的

选择合适的主键生成器,主键选择方面最后采用数字来表示,代替有意义的字段,以免以后产生更新麻烦

主键生成器,可以选内置的,native,identity,sequence,increment,hiho,还可以实现自己主键生成器,其中接口是IdentifierGenerator

 细粒度模型

细粒度模型,通俗的说,类比表多,比如一个用户有账单地址和家庭地址,对应数据库表中就是一个表包括用户,账单地址,家庭地址。

实体与值类型,实体是有相应的对象记录,唯一性身份标示,值类型没有身份,依赖于实体。

组件值类型,比如用户可以有两个地址类型,可以单向导航定义组件,比如用户找地址,也可以通过parent属性指定用户,可以双向导航。

映射类继承:

 有三种策略,一种是每个具体类一张表,这个适用非多态关联和查询用途

第二种,所有类体系用一张表标示,这个适用多态关联和查询,而且子类字段很少的情况 ,subclass去声明子类,并且有一个列规定区分子类属性

第三种,每个类都对应个表,包括抽象类和子类,通过外键建立联系,join-subclass去声明子类,子类有很多属性。

选择哪种策略的时候,要考虑持久化问题。

关联管理:

关联举例一对多,多对一双向管理,比如bid和item类关系

双向定义关联关系,一方one to many ,另一方 many to one,由外键作为关联值。

casade关联实例,传递持久化。

inverse代表由哪方做具体持久工作。

 

 

 

 

 

转载于:https://www.cnblogs.com/guquanyou/archive/2013/03/04/2942258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值