一对一关联关系此处通过一个人对应一个身份证,此处身份证类中的id不是通过自动生成,
而是从person表中获取person表中对应的id,表的设计如下:
person表:
card表:
人类 (Person):
public class Person {
private int id ;
private String name ;
private Card card ; // 身份证类
.../getter/setter
}
身份证类 (Card):
public class Card {
private int id ;
private String name ;
private Person person ; // 同样此处包含一个人对象
...getter/setter
}
人类的配置文件 (Person.hbm.xml):
.........
<class name="Person" table="person">
<id name="id">
<generator class="native"/>
</id>
<property name="name" />
<one-to-one name="card"/> // name的值对应Person类中的那个对象名称
</class>
.........
身份证类的配置文件 (card.hbm.xml):
......
<class name="Card" table="card">
<id name="id">
<generator calss="foreign">
<param name="property">person</param> // 此处的id是通过外键的方式获取,即通过person的getID方法赋值
</generator>
</id>
<property name="name"/>
<one-to-one name="person"/> // 同样对应Card类中的person对象名称
</class>
......
测试代码,首先添加一个身份证号,然后添加人的信息,代码如下:
// 省略Hibernate代码
Card car = new Card () ;
car.setName ("card name") ;
Person person = new Person () ;
person.setName ("p1") ;
person.setCard (card) ; // 设置了此人的身份证
car.setPerson (person) ; // 设置此身份证是哪个人的
s.save (person) ;
s.save (card) ;
分享到:
相关推荐
免积分的资源,希望可以帮到大家,这是我学习hibernate时候,自己写的代码。希望大家学业有成。
hibernate外键实现一对一单向关联关系源码
这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。
Hibernate映射一对多关联关系
Hibernate双向一对一关联映射(注解版)
Hibernate 一对一外键单向关联 Hibernate 一对一主键单向关联 Hibernate 一对一连接表单向关联 Hibernate 一对多外键单向关联 Hibernate 一对多连接表单向关联 Hibernate 多对一外键单向关联 Hibernate 多对一连接...
hibernate外键实现一对一双向关联关系源码
hibernate主键实现一对一单向关联关系源码
hibernate一对一的关联关系demo
hibernate一对一主键关联代码实现
博文链接:https://llying.iteye.com/blog/220802
hibernate双向一对多关联映射(注解版)
Hibernate关联关系映射 单向关联 │ ├─ 一对一外键单向关联 │ ├─ 一对一主键单向关联 │ ├─ 一对一连接表单向关联 │ ├─ 一对多外键单向关联 │ ├─ 一对多连接表单向关联 │ ├─ 多对一外键单向关联 │ ...
博文链接:https://shaqiang32.iteye.com/blog/201308
Hibernate一对一,一对多,多对多实例
hibernate一对一主键关联(注解版)
hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate关联映射的关联关系,...
1、在有外键的一方,可以维护关联关系,可以建立关联关系,同样也可以解除关联关系,可以任意删除本对象,如果在hbm.xml中设置了cascade="delete",也可以删除关联对象 2、在没有外键的一方,不可以维护关联关系,...
hibernate主键一对一关联映射代码示例
demo代码; 博客地址:http://blog.csdn.net/smilefyx/article/details/48951933