pro JPA2 精通java持久化API 第四章
来源:互联网 发布:安卓手机plc编程软件 编辑:程序博客网 时间:2024/06/01 08:10
从第四章开始:
@PesistenceUnit(unitName="")注入的为实体管理工厂
@PersistenceContext(unitName="")注入的为实体管理器
@Entity注解标注这个类为实体类。
@Table(name=“”)可以指定映射到数据库中表名称
@Id标注为主键
@Transient标注这个属性不被映射到数据库中
@Colum(name=“”)可以指定映射到数据库中的列名称。
@Basic(fetch=Fetch.LAZY)这个字段使用在属性上,可以延迟加载该属性,目前没模拟出来,所有 属性都查询了。
@Lob标注这个属性为大型对象(clob或者blob)
@Temporal()枚举常用TemporalType.TIMESTAMP 表示持久化格式yyyy-MM-dd HH:mm:ss
映射主键
@Id
@GeneratedValue(strategy=GeneratedType.Auto)自动生成主键
我之前犯了一个错误,在之前没用主键生成策略的时候建表直接用的@Id映射,数据库用的mysql,也就是主键没自增,
然后你再加上自动生成主键策略,插入的时候当没给id赋值的时候,会报错的。记得用建表策略create,重新建表,再换成update或者直接主键设置自增。
@Id
@GeneratedValue(generator = “”)自己指定生成器,
@GenericGenerator(name=""和上面的generator = “”值一样,strategy="uuid")由hibernate提供这个注解
关系
@ManyToOne
@JoinColum(name="")多对一关系,name的值表示在多方映射到数据库中的外键名称,这个注解出现在多对一关系中的所有方上。
@OneToOne(mappedBy="")双向一对一,mappedBy应该在没有定义@JoinColum的实体的@OneToOne注解中指定,或者在关系的反方中指定。
当定义双向多对一或者双向一对多的时候,多对一方是关系所有方,在所有方定义@JoinColum,一对多是反方使用mapperBy=“”
如,多方为员工,一方为部门,当为双向关系时,多方即员工来维护关系,在多方使用@ManyToOne,同时指定@JoinColum的值,在一方使用OneToMoney(mappedBy="").
当定义一个单向的OneToMoney的时候,如一个员工有多个手机号。在单向这么没有使用mappedBy,那么就需要一个联接表来关联员工和手机号,员工为一方
@JoinTable(name=""联接表名,joinColums=@JoinColum(name=""一方外键),inverseJoinColums=@JoinColum=(name=""多方外键))
@ManyToMany,如人和工程
需要人为的指定某个many为关系维护方,如指定人为维护方,那么在工程方就需要使用@ManyToMany(mappedBy="")
需要使用第三方表来维护多对多的关系
@JoinTable(name=""联接表名,joinColums=@JoinColum(name=""维护方外键名称),inverseJoinColums=@JoinColum=(name=""对方外键名称))
@Embedded表示为嵌入对象,如人这个实体,字段有id,name,同时人也有个属性为住址对象(人的嵌入对象),实际就是把住址的字段加在人上。如果 字段与重复请使用
@AttributeOverride注解重写。
- pro JPA2 精通java持久化API 第四章
- pro JPA2 精通java持久化API 第五章
- pro JPA2 精通java持久化API 第六章
- pro JPA2 精通java持久化API 第七章
- pro JPA2 精通java持久化API 第八章
- pro JPA2 精通java持久化API 第十章
- Pro JPA2读书笔记系列(四)-第四章(对象-关系映射)
- Pro JPA2读书笔记系列(九)-第九章(条件API)
- Pro JPA2读书笔记系列(十)-第九章(条件API)-干货
- java持久化API
- 《精通HTML5编程》第四章:地理位置API
- 《精通hibernate:java持久化...》---持久化类
- Pro JPA2读书笔记系列(二)-第二章(入门)
- Pro JPA2读书笔记系列(三)-第三章(企业应用程序)
- Pro JPA2读书笔记系列(五)-第五章(集合映射)
- Pro JPA2读书笔记系列(六)-第六章(实体管理器)
- Pro JPA2读书笔记系列(七)-第七章(使用查询)
- Pro JPA2读书笔记系列(八)-第八章(查询语言)
- hdu 4717
- 基础宽搜 奶牛最少步数问题
- MFC消息映射机制概述(二)
- python递归实现汉诺塔实现
- java设计模式1(转自:http://blog.csdn.NET/zhangerqing)
- pro JPA2 精通java持久化API 第四章
- SSL认证原理
- 阶乘之和
- FZU—2150 Fire Game
- 安联支付-专业的第三方支付
- 各个版本的快速排序源码
- spring的事务配置
- Kali Linux SQL注入攻击教程
- mybatis(3)--第一个mybatis的demo