hibernate 之 关系映射
来源:互联网 发布:对外汉语教师网络兼职 编辑:程序博客网 时间:2024/05/09 23:46
一对一双向映射
例子是一个husband对应一个wife
@Entitypublic class Husband {private int id;private String name;private Wife wife; //wife@Id@GeneratedValuepublic int getId() {return id;}@OneToOne(cascade=CascadeType.ALL) //@JoinColumn(name="w_id")//默认是wife_idpublic Wife getWife() {return wife;}//省略其它}
@Entitypublic class Wife { private int id; private String name; private Husband husband; @Id @GeneratedValue public int getId() { return id; } @OneToOne(mappedBy="wife")public Husband getHusband() {return husband;} //省略其它}
双向关系中要设置mappedBy(在少的那方) 不然会产生多余的字段和约束
一对一 双向映射这种形式也可以设计成组件:
/** * @author blog.csdn.net/ljfbest * 组件映射: * 对象关系:一个对象是另一个对象的一部分 * 数据库表:一张表 * annotation:@Embbedable @Embbeded * xml:<component * * 以下例子:wife是husband的一部分 */@Embedded //这点public Wife getWife() {return wife;}wife类:
public class Wife {private String name; //此处name 不能和husband中的一致@Column(name="wife_name")public String getName() {return name;}//省略}
在多对多中需要设置中间表:
@ManyToMany // 下面这个注解是用来定义中间表的表名,及字段名------------------- @JoinTable(name="t_s", joinColumns={@JoinColumn(name="t_id")}, inverseJoinColumns={@JoinColumn(name="s_id")} ) public Set<Student> getStudent() { return student; }
多对一是 @ManyToOne
- hibernate 之 关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate之实体关系映射
- Hibernate之实体关系映射
- Hibernate之映射关联关系
- Hibernate之映射组成关系
- hibernate之关系映射方式
- hibernate映射详解之: 对象 - 关系映射
- Hibernate关系映射之关联映射
- Hibernate关系映射之继承映射
- Hibernate关联关系映射之继承映射
- Hibernate表关系映射之一对一映射
- Hibernate关系映射之一对一关系
- Hibernate,JPA 对象关系映射之关联关系映射策略
- Hibernate,JPA 对象关系映射之关联关系映射策略
- Hibernate对象关系映射详解之“一对多”关系映射
- 连接池 连接无法自动关闭解决方法
- Inline Hook MessageBoxA
- 无向图和有向图关于连通性的tarjan算法
- USB接口图示
- fedora的配置[转]
- hibernate 之 关系映射
- NeatUpload 网络上传大文件的web.config配置问题
- ClockThread自定义信号的发送和接收(QtSDK thread/ClockThread)
- windows7系统笔记本机建立无线wifi热点
- 给定单链表,检测是否有环等系列考题
- VC开源项目
- GetSafeHwnd()
- 【子实推荐/史海钩沉】国军抗战全纪实——100集系列纪录片
- 开心一下