收藏 分销(赏)

hibernate映射文件property元素属性.doc

上传人:仙人****88 文档编号:11738771 上传时间:2025-08-11 格式:DOC 页数:5 大小:36.50KB 下载积分:10 金币
下载 相关 举报
hibernate映射文件property元素属性.doc_第1页
第1页 / 共5页
hibernate映射文件property元素属性.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
hibernate映射文件property 元素属性 property 元素 name:映射类属性的名字   可选属性: 1. column:对应数据库表的字段名 默认值为属性名 2. type:字段的类型 3. update:update操作时是否包含本字段的数据 默认值为true 4. insert:insert操作时是否包含本字段的数据 默认值为true 5. formula:定义一个SQL来计算这个属性的值 6. access:Hibernate访问这个属性的策略 默认值为property  7. unique:设置该字段值是否唯一 默认值为false 8. not-null:设置该字段值是否可以为空 默认值为false 9. property-ref:设置关联类的属性名,此属性和本类的关联相对应 默认值为关联类的主键 10. optimistic-lock:指定此属性做更新操作时是否需要乐观锁定 默认值为true 11. lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载 12. not-found:指定外键引用的数据不存在时如何让处理 默认值为exception产生异常 可选值为ignore对不存在的应用关联到null 13. entity-name:被关联类的实体名 hibernate映射文件one-to-one 元素属性 1. one-to-one 元素 属性: 1. name:映射类属性的名字 2. class:映射的目标类 3. cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行更新操作时级联、delete执行删除操作时级联 4. constrained:表明当前类对应的表与被关联的表之间是否存在着外键约束 默认值为false 5. fetch:设置抓取数据的策略 可选值为 join外连接抓取、select序列选择抓取 6. property-ref:设置关联类的属性名,此属性和本类的主键相对应 默认值为关联类的主键 7. access:Hibernate访问这个属性的策略 默认值为property 8. formula:绝大多数一对一关联都指向其实体的主键。在某些情况下会指向一个或多个字段或是一个表达式,此时可用一个SQL公式来表示 9. lazy:指定是否采用延迟加载及加载策略 默认值为proxy通过代理进行关联 可选值为 true此对象采用延迟加载并在变量第一次被访问时抓取、false此关联对象不采用延迟加载 10. entity-name:被关联类的实体名 单向1——1关联: 需要在实体中提供setter、getter方法;  事实上单向的1——1和N——1配置非常相似;只需要在many-to-one元素增加 unique="true"属性,用于表示N的一端必须是唯一的即可!(既然N的一端加了唯一性约束那么就成了1——1了!)    A、基于外键的单向1——1关联:   将无连接表的many-to-one元素增加 unique="true"属性,即可完成映射!     eg: <!-- 用于映射1-1关联实体,指定关联实体类为Address    指定外键列名为addressId,并指定级联全部操作 -->   <many-to-one name="address" cascade="all"    unique="true" class="Address"    column="addressId"/>     B、有连接表的单向1——1关联: 将连接表的many-to-one元素增加 unique="true"属性,即可完成映射!   eg: <!-- 映射连接表中参照关联实体的外键列 -->    <many-to-one name="address" cascade="all"     unique="true" class="Address"     column="addressId"/>    C、基于主键的单向1——1关联: eg: <class name="Person">   <!-- 映射标识属性personid -->   <id name="personid" column="addressid">    <!--  基于主键关联时,主键生成策略是foreign,     表明根据关联类的主键来生成本表主键 -->    <generator class="foreign">     <!-- 指定引用关联实体的属性名 -->     <param name="property">address</param>    </generator>   </id>   <!-- 用于映射普通属性 -->   <property name="name" type="string"/>   <property name="age" type="int"/>   <!-- 下面映射基于主键的1-1关联 -->   <one-to-one name="address"/>  </class>    双向1——1关联: 需要在两边实体类中增加引用关联实体的属性: A、 基于外键的双向1——1关联:     基于外键的1——1关联,外键可以存放在任意一端, 1.        存放的一端要增加many-to-one元素,并添加unique=”true“, 2.        另一端使用one-to-one元素,使用property-ref指定引用关联类的属性; eg: Preson.hbm.xml  <!-- one-to-one元素映射关联属性,外键列在对方的表内    person-ref指定引用关联类的属性。    即:在address属性所属的Address类内,    必须有person属性的setter和getter方法 -->   <one-to-one name="address" property-ref="person"/>   Address.hbm.xml   <!-- 使用many-to-one映射1-1关联实体    unique="true"确定为1-1-->   <many-to-one name="person" unique="true"    column="person_id" not-null="true"/>   B、基于主键的双向1——1关联:              主键映射策略,一端的主键生成器必须使用foreign策略,表名根据对方的主键生成策略来生成自己的主键本实体不能拥有自己的主键生成策略;   eg: Preson.hbm.xml <!-- one-to-one元素映射关联属性 -->   <one-to-one name="address"/> Address.hbm.xml <!-- Address持久化类-->  <class name="Address">   <!-- 映射标识属性addressid -->   <id name="addressid">    <!-- 指定foreign主键生成器策略-->    <generator class="foreign">     <!-- 指定根据主键将根据person属性引用的      关联实体的主键来生成-->     <param name="property">person</param>    </generator>   </id>   <!-- 映射普通属性addressdetail -->   <property name="addressdetail"/>   <!-- 用于映射关联属性 -->   <one-to-one name="person"/>  </class>   C、有连接表的双向1——1关联:   用的比较少,只给出例子: eg: Preson.hbm.xml  <!-- 使用join元素强制使用连接表 -->   <join table="person_address" inverse="true">    <!-- 映射连接表中参照本实体主键的外键列 -->    <key column="person_id" unique="true"/>    <!-- 映射1-1关联实体 -->    <many-to-one name="address" class="Address"      unique="true" column="address_id"/>   </join>   Address.hbm.xml <!-- 使用join元素强制使用连接表 -->   <join table="person_address" optional="true">    <!-- 映射连接表中参照本实体主键的外键列 -->    <key column="address_id" unique="true"/>    <!-- 映射1-1关联实体 -->    <many-to-one name="person" class="Person"     unique="true" column="person_id" />   </join>  
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服