Hibernate:映射文件元素属性说明
为什么80%的码农都做不了架构师?>>>
Doctype
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2008-10-1 20:56:03 by Hibernate Tools 3.2.1.GA -->
根元素hibernate-mapping
属性:
schema:数据库的schema名称
catalog:数据库的catalog名称
default-cascade:默认的级联方式 默认值为none
default-access:默认的属性访问方式 默认值为property
default-lazy:对没有指定延迟加载的映射类和集合设定为延迟加载 默认值为true
auto-import:设定此映射文件中是否可以在HQL中使用非完整的类名(不包括包名) 默认值为true
package:此映射文件中类默认的包名
子元素:
meta:用于设置类或属性的元数据属性
typedef:定义新的Hibernate数据类型
import:显示的引用一个类,避免在HQL语句中使用全类名
class:定义一个持久类
subclass:在进行多态持久化时定义父类的子类
joined-subclass:定义一个连接子类
union-subclass:定义一个联合子类
query:定义一个HQL查询
sql-query:定义一个SQL查询
filter-def:定义过滤器
class元素
属性:
name:持久化类的全名
table:对应的数据库表名 默认值为类名
discriminator-value:子类识别标识 默认值为类名
mutable:表明该类的实例是否是可变的 默认值为false
schema:数据库的schema名称
catalog:数据库的catalog名称
proxy:指定延迟加载代理类
dynamic-update:指定用于update的SQL语句是否动态生成 默认值为false
dynamic-insert:指定用于insert的SQL语句是否动态生成 默认值为false
insert-before-update:设定在Hibernate执行update之前是否通过select语句来确定对象是否确实被修改了,如果该对象的值没有改变,update语句将不会被执行 默认值为false
polymorphism:指定使用多态查询的方式 默认值为implicit
where:指定一个附加的SQL语句的where条件
persister:指定一个Persister类
batch-size:设定批量操作记录的数目 默认值为1
optimistic-lock:指定乐观锁定的策略 默认值为vesion
lazy:指定是否使用延迟加载
entity-name:实体名称 默认值为类名
check:指定一个SQL语句用于Schema前的条件检查
rowid:指定是否支持ROWID
subselect:将不可变的只读实体映射到数据库的子查询中
abstract:用于在联合子类中标识抽象的超类 默认值为false
子元素:
meta:设置类或属性的元数据属性
subselect:定义一个子查询
cache:定义缓存的策略
synchronize:定义持久化类所需要的同步资源
comment:定义表的注释
id:映射类中与数据库对应表主键相对应的标识字段(表中为独立字段的主键)
composite-id:映射类中与数据库对应表主键相对应的标识字段(表中为联合字段的主键)
natural-id:声明一个唯一的业务主键
discriminator:定义一个鉴别器
vesion:指定表所包含的附带版本信息的数据
timestamp:指定表中包含时间戳的数据
property:定义一个持久化类的属性
many-to-one:定义对象间的多对一的关联关系
one-to-one:定义对象间的一对一的关联关系
component:定义组件映射
dynamic-component:定义动态组件映射
properties:定义一个包含多个属性的逻辑分组
any:定义any映射类型
map:map类型的集合映射
set:set类型的集合映射
list:list类型的集合映射
bag:bag类型的集合映射
array:array类型的集合映射
primitive-array:primitive-array类型的集合映射
query-list:映射由查询返回的集合
join:将一个类的属性映射到多张表中
sub-class:声明多态映射中的子类
joined-subclass:生命多态映射中的来连接子类
union-subclass:声明多态映射中的联合子类
loader:定义持久化对象的加载器
sql-insert:使用定制的SQL语句执行insert操作
sql-update:使用定制的SQL语句执行update操作
sql-delete:使用定制的SQL语句执行delete操作
filter:定义Hibernate使用的过滤器
query:定义装载实体的HQL语句
sql-query:定义装载实体的SQL语句
id 元素
属性:
name:映射类中与主键相对应的属性名
type:主键属性的数据类型
column:主键字段的名称 默认值为属性名称
unsaved-value:判断此对象是否进行了保存
access:Hibernate访问主键属性的策略 默认值为property
子元素:
generator:为持久化实例产生一个唯一标识
generator 元素
属性:
class:定义实例生成器
sequence (序列) 在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。
hilo (高低位)使用一个高/低位算法来高效的生成long, short或者 int类型的标识符。给定一个表和字段(默认分别是是hibernate_unique_key 和next_hi)作为高位值得来源。高/低位算法生成的标识符只在一个特定的数据库中是唯一的。在使用JTA获得的连接或者用户自行提供的连接中,不要使用这种生成器。
seqhilo(使用序列的高低位) 使用一个高/低位算法来高效的生成long, short或者 int类型的标识符,给定一个数据库序列(sequence)的名字。
uuid.hex 用一个128-bit的UUID算法生成字符串类型的标识符。在一个网络中唯一(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。
uuid.string 使用同样的UUID算法。UUID被编码为一个16个字符长的任意ASCII字符组成的字符串。不能使用在PostgreSQL数据库中
native(本地) 根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
assigned(程序设置) 让应用程序在save()之前为对象分配一个标示符。
foreign(外部引用) 使用另外一个相关联的对象的标识符。和<one-to-one>联合一起使用。
name:映射类属性的名字
column:对应数据库表的字段名 默认值为属性名
type:字段的类型
update:update操作时是否包含本字段的数据 默认值为true
insert:insert操作时是否包含本字段的数据 默认值为true
formula:定义一个SQL来计算这个属性的值
access:Hibernate访问这个属性的策略 默认值为property
lazy:设置此字段是否采用延迟加载策略 默认值为false
unique:设置该字段值是否唯一 默认值为false
not-null:设置该字段值是否可以为空 默认值为false
optimistic-lock:指定此属性做更新操作时是否需要乐观锁定 默认值为true
set 元素
属性:
name:映射类属性的名字
access:Hibernate访问这个属性的策略 默认值为property
table:关联的目标数据库表
schema:目标数据库表的schema名字
catalog:目标数据库表的catalog名字
lazy:是否采用延迟加载
subselect:定义一个子查询
sort:设置排序的类型 默认值为 unsorted不排序 可选值为 natural自然排序、comparatorClass实现接口类作为排序算法 避免与order-by同时使用
inverse:用于标识双向关联中被动的一方 默认值为false
mutable:标识被关联对象是否可以改变 默认值为true
cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行更新操作时级联、delete执行删除操作时级联、all-delete-orphan被关联对象失去宿主时将其删除
order-by:设置排序规则
where:增加筛选条件
batch-size:延迟加载时,一次读取数据的数量 默认值为1
fetch:设置抓取数据的策略 可选值为 join外连接抓取、select序列选择抓取
one-to-one 元素
属性:
name:映射类属性的名字
class:映射的目标类
cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行更新操作时级联、delete执行删除操作时级联
constrained:表明当前类对应的表与被关联的表之间是否存在着外键约束 默认值为false
fetch:设置抓取数据的策略 可选值为 join外连接抓取、select序列选择抓取
property-ref:设置关联类的属性名,此属性和本类的主键相对应 默认值为关联类的主键
access:Hibernate访问这个属性的策略 默认值为property
formula:绝大多数一对一关联都指向其实体的主键。在某些情况下会指向一个或多个字段或是一个表达式,此时可用一个SQL公式来表示
lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载
entity-name:被关联类的实体名
many-to-one 元素
属性:
name:映射类属性的名字
column:关联的字段
class:关联类的名字
cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行save和update操作时级联、delete执行删除操作时级联
fetch:设置抓取数据的策略 默认值为select序列选择抓取 可选值为join外连接抓取
update:进行update操作时是否包含此字段
insert:进行insert操作时是否包含此字段
property 元素
属性:
property-ref:设置关联类的属性名,此属性和本类的关联相对应 默认值为关联类的主键
access:Hibernate访问这个属性的策略 默认值为property
unique:设置该字段值是否唯一 默认值为false
not-null:设置该字段值是否可以为空 默认值为false
optimistic-lock:指定此属性做更新操作时是否需要乐观锁定 默认值为true
lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载
not-found:指定外键引用的数据不存在时如何让处理 默认值为exception产生异常 可选值为ignore对不存在的应用关联到null
entity-name:被关联类的实体名
many-to-one 元素
属性:
column:中间关联表映射到目标关联表的关联字段
class:关联的目标类
fetch:设置抓取数据的策略 默认值为select序列选择抓取 可选值为join外连接抓取
lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载
formula:绝大多数一对一关联都指向其实体的主键。在某些情况下会指向一个或多个字段或是一个表达式,此时可用一个SQL公式来表示
not-found:指定外键引用的数据不存在时如何让处理 默认值为exception产生异常 可选值为ignore对不存在的应用关联到null
entity-name:被关联类的实体名
转载于:https://my.oschina.net/liubin/blog/109130
Hibernate:映射文件元素属性说明相关推荐
- Hibernate映射文件生成器by LDDXFS
本文由 http://www.cnblogs.com/LDDXFS/ 原创,转载请注明本文出处.(新版本的代码生成器写好了,新版本设计上更合理,会在近期对其进行相关介绍,打算在工作稳定后开源,本文为旧 ...
- Hibernate 映射文件
转载 https://www.w3cschool.cn/hibernate/1vlx1iej.html Hibernate 映射文件 笔记 映射文件的主要作用:方便对数据库数据的处理,将数据库中每一个 ...
- hibernate映射文件出现should be mapped with insert=“false“ update=“false“
hibernate映射文件出现should be mapped with insert="false" update="false" 这是属性名有重复
- 用MyEclipse自动生成hibernate映射文件和实体类
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 1 创建数据库,创建 ...
- 对应oracle生成java对象,Java学习笔记(十三)——通过Netbeans开发环境生成oracle数据库中表的对应hibernate映射文件...
[前面的话] 身体慢慢已经快好了,感觉真好,哈哈. 这篇文章要通过Hibernate对数据库进行操作,而Netbeans可以直接通过数据库逆向生成对应的映射文件.基础文章,选择性阅读. [步骤] 1. ...
- myeclipse自动生成hibernate映射文件的过程
在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了 ...
- hibernate映射文件set key one-to-many 解释
Set集合映射: Hibernate为集合映射提供了专用的标签元素,Set集合映射,就使用<set>标签表示: <?xml version="1.0" encod ...
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...
- hibernate中的映射文件xxx.hbm.xml详解总结
一.Hibernate映射文件的作用: Hibernate映射文件是Hibernate与数据库进行持久化的桥梁 二,Hibernate映射文件主要内容: (1).映射内容的定义: Hibern ...
最新文章
- golang 1.18 新增泛型 简介
- 12、HTML <form>标签(表单)
- Win10操作系统不能访问共享文件夹
- astc贴图格式是什么意思_c4d配合AEe3d导入c4d模型贴图及插件安装所有流程
- SGU traffic light
- 第八届蓝桥杯省赛真题--纸牌三角形
- 201507之佛山移动实习
- 如果从零开始开发一款APP,需要做哪些准备
- Oracle PLSQL语句实例
- java怎么模拟查询账户余额_spring boot + mybatis 模拟银行系统余额查询、转账、存取钱功能实现...
- 数据库基本语句和关键字详解
- ubuntu16.04查看opencv版本
- 【登录界面】vue、element-ui登录界面模板
- MATLAB图像处理边缘检测
- rm -rf /* 数据恢复记录
- 【持续更新】Leetcode SQL题目全解析(附建表sql)
- fckeditor的皮肤系列:皮肤更换
- 电商双十一购物节促销活动及短信营销解决方案
- Jmeter接口测试之断言详解
- 数字图像处理9--尺度空间
热门文章
- 请问:这里的空应怎么填呀?
- Katalon Studio自动化测试框架使用【2】--- 项目设置(MacOS)
- eclipse使用git合并_Eclipse中使用git
- iOS 9应用开发教程之使用代码添加按钮美化按钮
- java接口测试工具_接口测试基础了解篇
- a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...
- yum 代理_教你如何在5分钟轻松部署nginx反向代理
- 输出区间内素数的c语言程序,1137C/C++经典程序训练7---求某个范围内的所有素数...
- [CE5入门系列1]如何正确安装和初步使用
- 吴恩达:AI是时候从大数据转向「小数据」了