学习之路-Hibernate注解映射

来源:互联网 发布:shopex erp源码 编辑:程序博客网 时间:2024/05/28 09:33

前言:对于xml配置映射,之前学了xml注解映射,它有有点也有缺点,

对于开发者来说:

1、描述符太多,不容易记忆和掌握

2、当系统很大时,来回穿梭于Java于xml文件之间,工作量非常大

3、无法自动校验,一旦出现错误,还需要开发者人工校验

对于系统来说:

4、读取和解析xml配置文件需要一定时间,拖慢程序启动速度,不便于测试和维护

5、运行xml文件需要消耗额外的内存

Hibernate Annotation注解映射的优点是相对于配置映射而言的,比如说描叙符少,开发者工作量小,编译器校验等。不过缺点也很明显,比如后期维护比较困难。


基本映射的注解:

1、@Entity
映射对应的类为一个实体Bean 
必须放置于实体类的定义处

2、@Id
指定标示符属性

3、@Transient
指定属性不需要映射到数据库对应的表
在使用hbm2ddl自动创建表时,不会为该注解对应的变量创建列

4、@Basic
指定基本属性映射,相当于xml中的<property />
可以省略

5、@Table
指定该实体bean对应的表信息
可以在这里指定表的名称,所属的数据库模式等信息
@Table的属性有:
 name 表名
 uniqueConstraints 指定表中出现的唯一索引

6、@Column
指定属性所对应的数据库表中的列信息
@Column属性:
  name 列名,table 列所属的表名,unique 该列值是否唯一
 insertable updateable 是否能插入和更新等

7、@GeneratedValue
指定主键生成策略
@GeneratedValue的属性有:
strategy  采用的主键生成策略,有如下四种方式:
  AUTO 相当于xml映射中的native
  IDENTITY 相当于xml中的identity,可以应用于MySQL数据库
  SEQUENCE 相当于xml中的sequence,可以应用于Oracle
  TABLE 使用一个单独的数据库表来作为主键生成辅助工具
generator  采用的主键生成器名称
当采用SEQUENCE策略和TABLE策略时需要指定


原创粉丝点击