[SXT][WY]Hibernate04 常用映射标签及属性

hibernate基本映射

 

实体类---表
实体类中的普通属性---表字段

 

采用<class>标签映射成数据库表,通过<property>标签将普通属性映射成表字段
所谓普通属性指不包括自定义类、集合和数组等

 

注意:如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或column重新命名

 

实体类的设计原则:
 * 实现一个默认的(即无参数的)构造方法(constructor)
 * 提供一个标识属性(identifier property)(可选)
 * 使用非final的类 (可选) , 因为用lazy特性时会需要继承实体类。
 * 为持久化字段声明访问器(accessors) ,就是get set方法

 

主键生成策略:
 uuid、native和assigned

 

标签常用属性:

 

<class
 name = "类名"
 table = "表名" //默认和类名一样
 discriminator-value =   //以后继承映射介绍
 dynamic-update = "true|false(default)" //DB update操作时,只更新改变过的字段
 dynamic-insert = "true|false(default)" //DB insert操作时,只包含非空字段
 batch-size = "N"
 optimistic-lock = "none|vesion|dirty|all"
 lazy = "true|false"
 abstract = "true|false" 
/>

<id // 必须要在class之后,而且是单一主键。复合主键用composite-id
 name = "实体类属性"
 column = "表中列名" //默认和name一样
 type = "" //integer,long,short.float,double,character,byte,boolean,yes_no,true_false
 length = "32" //表中字段长度
 <generator class = "increment" // 集群不能用,只能在单一jvm中用,数字
      "identity"  // mysql... 数据库自增 数字
      "sequence"  // oracle... 数据库自增 数字
      "uuid"  // 由hibernate生成,32位字符串,不会重复
      "native"  // 自动辨别数据库(常用方式)
      "assigned"  // 手动分配
      "foreign"  // 用其他表的主键
 />
/>

<property
 name = "实体类属性名"
 column = "表的列名"
 type = "" 同上
 update = "true|false" // 是否出现在update语句中
 insert = "true|false" // 是否出现在insert语句中
 lazy = "true|false"
 unique = "true|false"  // 这个字段的唯一性
 not-null = "true|false"  // 是否可以为空
 length = ""  // 字段长度
/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值