Hibernate建立多对一的单向关联关系
来源:互联网 发布:越狱苹果抹除所有数据 编辑:程序博客网 时间:2024/05/19 19:30
以下内容整理自《精通Hibernate》第二版
映射代码:
<span style="font-size:18px;"><many-to-one name="customer" column="CUSTOMER_ID" class="mypack.Customer" not-null="true" lazy="false"/></span>
<many-to-one>元素建立了customer属性和ORDERS表的外键CUSTOMER_ID之间的映射。它包括以下属性。
name:设定待映射的持久化类的属性的名字,此处为Order类的customer属性。
column:设定和持久化类的属性对应的表的外键,此处为ORDERS表的外键CUSTOMER_ID。
class:设定待映射的持久化类的属性的类型,此处设定customer属性为Customer类型。
not-null:如果为true,表示customer属性不允许为null,该属性的默认值为false。not-null属性会影响hbm2ddl工具生成的数据库schema,hbm2ddl工具会为ORDERS表的CUSTOMER_ID外键设置not null约束,但not-null属性不会影响hbm2java工具生成Java源代码。此外,not-null属性还会影响Hibernate的运行时行为,Hibernate在向数据库中保存Order对象时,会先检查它的customer属性是否为null。
lazy:如果为proxy,表示对关联的Customer对象使用延迟检索策略并且使用代理,这是默认值。如果为false,就意味着当Hibernate从数据库中加载Order对象时,还会立即自动加载与它关联的Customer对象
注:当Hibernate持久化一个临时对象(指刚通过new语句创建),在默认情况下,它不会自动持久化所关联的其他临时对象,所以会抛出TransientObjectException异常。如果希望当Hibernate持久化一个临时对象时自动持久化所关联的临时对象,可以把<many-to-one>的cascade属性设为"save-update",cascade属性的默认值为"none"。
当cascade属性为"save-update",表明保存或更新当前对象时(即执行insert或update语句时),会级联保存或更新与它关联的对象。
0 0
- Hibernate建立多对一的单向关联关系
- 四、Hibernate多对一关联有关系(单向关联)
- 精通Hibernate——建立单向多对一关联
- Hibernate关系映射(7)_多对一单向关联
- Hibernate关联关系映射-----单向多对一映射配置
- hibernate-关系映射(多对一单向关联)-8
- hibernate 多对一单向关联关系配置的完整示例
- Hibernate关联关系映射(单向一对多、单向多对一、双向一对多)
- Hibernate 单向多对一、单向一对多、双向一对多关联关系详解
- hibernate映射关系 一对多、多对一单向关联 一对多双向关联
- Hibernate关联关系总结一对多、多对一单向关联
- Hibernate多对一单向关联映射
- hibernate单向多对一关联
- Hibernate多对一单向关联
- hibernate:多对一单向关联映射
- hibernate多对一单向关联
- Hibernate多对一单向关联
- hibernate多对一单向关联_Annotation
- Fast and accurate short read alignment with Burrows-Wheeler transform
- Java的基本数据类型全解(by 星空武哥)
- Ansible常用模块
- hdu 5289 Assignment (rmq模版)
- oc002---定义OC的类和创建OC的对象
- Hibernate建立多对一的单向关联关系
- Duilib教程-控件练习
- int to string 整型转化为字符串( C语言接口与实现:创建可重用软件的技术)
- 【PHP学习】控制结构/文件包含语句
- 自定义struts(一)--咱家自己写的struts--我对struts的理解
- Android ScrollView中嵌套ListView和GridView显示不全解决方案
- 【PHP学习】PHP支持的数据类型
- JPA高级分析
- openshift云空间免费建站