hbm配置文档常用设置
<code>
<hibernate-mapping
schema="schemaName" //模式名
catalog="catalogName" //目录名
default-cascade="cascade_style" //级联风格
default-access="field|property|ClassName" //访问策略
default-lazy="true|false" //加载策略
package="packagename" //设置默认包名
/>
<class
name="ClassName" //对象关系映射中,映射的类
table="tableName" //映射成数据库的某张表,表名
batch-size="N" //抓取策略,抓取N条记录
where="condition" //根据条件抓取
entity-name="EntityName" //支持同一个类映射多个表
/>
id表示表的主键
name表示要映射的属性名
type表示数据类型
column表示对应数据库表的列名
length表示长度
generator表示主键生成策略,常用有native,assigned(使用native时必须是整形)
<id
name="propertyName"
type="typename"
column="column_name"
length="lengh">
<gererator class="generatorClass">
</id>
</code>
主键生成策略
标识符生成器 | 描述 |
---|---|
increment | 适用于代理主键.由Hibernate自动以递增方式生成 |
identity | 适用于代理主键.由底层数据库生成标识符 |
sequence | 适用于代理主键.Hibernate根据底层数据库的序列生成标识符,这要求底层数据库支持序列 |
hilo | 适用于代理主键Hibernate分局high/low算法生成标识符 |
seqhilo | 适用于代理主键.使用一个高/低位算法来搞笑的生成long,short或者int类型的标识符 |
native | 适用于代理主键,根据底层数据库对自动生成标识符的方式,自动选择identity,sequence或hilo |
uuid.hex | 适用于代理主键.Hibernate采用128位的UUID算法生成标识符 |
uuid.string | 适用于代理主键.UUID被编码成一个16字符长的字符创 |
assigned | 适用于自然主键.由Java应用程序负责生成标识符 |
foreign | 适用于代理主键.使用另外一个相关联的对象的标识符 |