`
newleague
  • 浏览: 1509494 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hibernate实例简析-hibernate_one2one_ufk_2

阅读更多
hibernate一对一唯一外键关联映射(双向关联Person<---->IdCard)

一对一唯一外键关联双向,需要在另一端(idcard),添加<one-to-one>标签,指示hibernate如何加载
其关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关系,
所以不能指定主键加载person,而要根据person的外键加载,所以采用如下映射方式:
<one-to-one name="person" property-ref="idCard"/>
===
IdCard idCard = new IdCard();
idCard.setCardNo("88888888888888");

Person person = new Person();
person.setName("菜10");
person.setIdCard(idCard);

//不能成功保存,因为IdCard是Transient状态
session.save(person);
---
IdCard idCard = new IdCard();
idCard.setCardNo("88888888888888");
session.save(idCard);

Person person = new Person();
person.setName("菜10");
person.setIdCard(idCard);

session.save(person);
---
Person person = (Person)session.load(Person.class, 2);
System.out.println("person.name=" + person.getName());
System.out.println("idCard.cardNo=" + person.getIdCard().getCardNo());
---
IdCard idCard = (IdCard)session.load(IdCard.class, 1);
System.out.println("idcard.cardNo=" + idCard.getCardNo());
System.out.println("idcard.person.name=" + idCard.getPerson().getName());
===
<hibernate-mapping>
<class name="com.bjsxt.hibernate.Person" table="t_person">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="idCard" unique="true"/>
</class>
</hibernate-mapping>
---
<hibernate-mapping>
<class name="com.bjsxt.hibernate.IdCard" table="t_idcard">
<id name="id">
<generator class="native"/>
</id>
<property name="cardNo"/>
<one-to-one name="person" property-ref="idCard"/>
</class>
</hibernate-mapping>
===
public class Person {

private int id;

private String name;

private IdCard idCard;
---
public class IdCard {

private int id;

private String cardNo;

private Person person;
分享到:
评论

相关推荐

    hibernate 全面学习->hibernate 关联映射学习

    例如,`hibernate_one2one_ufk_1`和`hibernate_one2one_ufk_2`可能表示使用外键约束实现的一对一关系,而`hibernate_one2one_pk_1`和`hibernate_one2one_pk_2`可能表示通过主键共享实现的一对一关联。在这些示例中,...

    Hibernate 经典例子全

    在`hibernate_one2one_ufk_1`示例中,我们学习了如何配置和管理一对一的关系。这种关系在数据库中通常通过主键外键关联实现,Hibernate提供了多种方式来建立和维护这种关系,例如使用`@OneToOne`注解。 **五、懒...

    hibernet实例

    6. "hibernate_one2one_ufk_1"可能是关于一对一关系,但使用了外键来建立关联的案例。 7. "hibernate_extends_3"可能涉及到了Hibernate的继承映射,如何处理一个类继承另一个类的情况。 8. "hibernate_compositePK_...

    hibernate源码

    `hibernate_one2one_ufk_1`和`hibernate_one2one_pk_2`文件涉及到一对一关联的处理。Hibernate支持主键关联(Primary Key Join)和外键关联(Unique Foreign Key Join)两种方式。主键关联是通过两个实体共享同一...

    hibernate学习资料

    8. **hibernate_one2one_ufk_2**:这可能涉及到一对一关系的无外键映射,即两个实体之间没有直接的数据库外键关系。文件可能讲解了如何通过其他方式实现这种关联,如使用唯一约束或共享主键。 9. **hibernate_query...

    一对一双向关联映射

    在给出的标签中,“hibernate_one2one_pk_2”可能表示使用主键作为关联字段的映射,而“hibernate_one2one_ufk_2”可能表示使用唯一外键进行关联的映射。 在主键关联(PrimaryKey Join)中,两个实体共享同一个主键...

    Hibernate一对一唯一外键关联映射(单向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系数据库模型映射方式之一。本文将详细解析如何实现一对一唯一外键(Uniquely Foreign Key,UFK)关联映射,特别是在单向关联的情况下的具体...

    mk检验matlab程序

    % 结果序列UFk,UBk2 %-------------------------------------------- %读取excel中的数据,赋给矩阵y %获取y的样本数 %A为时间和径流数据列 A=xlsread('kk.xls','Sheet1') x=A(:,1);%时间序列 y=A(:,2);%径流数据列

    M-Ktest检验程序

    - 将 UFk 和 UBk2 写入 Excel 文件中。 - `xlswrite('D:\test2.xls', UFk, 'Sheet1', 'A1');` - `xlswrite('D:\test2.xls', UBk2, 'Sheet1', 'B1');` #### 四、M-K Test 应用场景 M-K Test 在气象学中的应用非常...

    Mann—Kenddall趋势检验.ppt

    2. 计算逆序时间序列的秩序列 sk,也按方程计算出 UBk。 3. 给定显著性水平,如 α=0.05,那么临界值 U0.05=±1.96。将 UFk 和 UBk 两个统计量序列曲线和 ±1.96 两条直线均绘在同一张图上。 计算结果分析: 分析...

    手把手教你怎么用MATLAB做mann-kendall突变检验

    2. **计算统计量**:基于秩次构建统计量,如**UFk**和**UBk**,用于检测序列的趋势和突变点。 3. **判断趋势**:通过与临界值比较,确定序列是否有显著的趋势变化。 #### 四、Mann-Kendall突变检验MATLAB实现 在...

    Mann-Kendall突变检测

    % Mann-Kendall突变检测 % 数据序列y % 结果序列UFk,UBk2 %-------------------------------------------- %读取excel中的数据,赋给矩阵y %获取y的样本数 %A为时间和径流数据列

    SAP Business Objects Temporary License Keys

    **2. 许可密钥支持** - 如有任何关于许可密钥的疑问或需要协助,请在组件XX-SER-LIKEY-BOJ上开启支持案例。 **3. 试用与评估** - 如果您希望对未授权的产品或许可选项进行试用或评估,请联系您的帐户经理安排...

    Mann-Kendall检验Matlab程序代码.doc

    2. 累计量序列的计算 程序计算了累计量序列Sk和统计量UFk。Sk是累计量序列,UFk是统计量,用于检测时间序列中的趋势和突变点。 3. 逆序列的计算 程序计算了逆序列y2和累计量序列Sk2。Sk2是逆序列的累计量序列,...

    MK突变检验MATLAB代码

    ##### 2. 计算统计量 接下来,我们计算MK检验所需的统计量。 - `N`: 观测值的数量。 - `Sk`: 前`k`个数据点的累积和。 - `UFk`: 正向统计量。 - `UBk`: 反向统计量。 ```matlab N = length(y); n = N; Sk = zeros(N,...

    RouterOS V5.20.ISO.ImportKey.OK

    2. http://s5.sinaimg.cn/middle/0030UfK9gy6VOYpXn2414&690 3. http://s2.sinaimg.cn/middle/0030UfK9gy6VOXyjldvc1&690 4. http://s11.sinaimg.cn/middle/0030UfK9gy6VOYpX49A9a&690 【注意】:Micosoft Virtual ...

    MatlabUFK程序

    MatlabUFK程序Web of Knowledge 平台是一种综合型平台。它提供各级学者、研究专业人士通过网上平台上获得信息最容易的一种研究和管理环境。他的来源文章都是各学科高影响力、高质量的论文。其核心内容为国际杂志、...

    一种基于SR-UKF的FastSLAM算法 (2012年)

    使用SR-UFK取代EKF来估计每个粒子的后验位姿提议分布, 可以提高粒子采样精度, 减缓粒子集的退化; 同时SR-UKF可以确保协方差矩阵的非负定, 保证了SLAM算法的稳定性。仿真实验结果表明, 基于SR-UKF的FastSLAM算法在...

Global site tag (gtag.js) - Google Analytics