hibernate注解
来源:互联网 发布:手机屏幕亮度调节软件 编辑:程序博客网 时间:2024/05/24 07:09
一对一关联:
1.主表类A与从表类B的主键值相对应。
主表:@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
public B getB(){
Return b;
}
从表:无
2.主表A中有一个从表属性是B类型的b
主表:@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="主表外键") //这里指定的是数据库中的外键字段。
public B getB(){
return b;
}
从表:无
3.主表A中有一个从表属性是B类型的b,同时,从表B中有一个主表属性是A类型的a
主表:@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="主表外键") //这里指定的是数据库中的外键字段。
public B getB(){
return b;
}
从表:@OneToOne(mappedBy = "主表类中的从表属性")
public 主表类 get主表类(){
return 主表对象
}
一对多关联:
1.单向一对多:一方有集合属性,包含多个多方,而多方没有一方的引用。
在一方:
@OneToMany 默认会使用连接表做一对多关联
添加@JoinColumn(name="xxx_id") 后,就会使用外键关联,而不使用连接表了。
2.双向一对多
1)在多方
@ManyToOne
@JoinColumn(name="自己的数据库外键列名")
2)在一方
@OneToMany(mappedBy="多端的关联属性名")
@JoinColumn(name="对方的数据库外键列名")
多对一关联:
1.单向多对一:多方有一方的引用,一方没有多方的引用。
在多方
@ManyToOne(targetEntity=XXXX.class) //指定关联对象
@JoinColumn(name="") //指定产生的外键字段名
2.双向多对一:配置方式同双向一对多。
多对多关联:
1.单向多对多:
在主控方:
@ManyToMany
@JoinTable(name="中间表名",
joinColumns={@JoinColumn(name="中间表中主表的关联列")},
inverseJoinColumns={@JoinColumn(name="中间表中从表的关联列")})
2.双向多对多
在主控方:
@ManyToMany
@JoinTable(name="中间表名",
joinColumns={@JoinColumn(name="中间表中主表的关联列")},
inverseJoinColumns={@JoinColumn(name="中间表中从表的关联列")})
在被控方:
@ManyToMany(mappedBy="主体端的属性名")
1.主表类A与从表类B的主键值相对应。
主表:@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
public B getB(){
Return b;
}
从表:无
2.主表A中有一个从表属性是B类型的b
主表:@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="主表外键") //这里指定的是数据库中的外键字段。
public B getB(){
return b;
}
从表:无
3.主表A中有一个从表属性是B类型的b,同时,从表B中有一个主表属性是A类型的a
主表:@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="主表外键") //这里指定的是数据库中的外键字段。
public B getB(){
return b;
}
从表:@OneToOne(mappedBy = "主表类中的从表属性")
public 主表类 get主表类(){
return 主表对象
}
一对多关联:
1.单向一对多:一方有集合属性,包含多个多方,而多方没有一方的引用。
在一方:
@OneToMany 默认会使用连接表做一对多关联
添加@JoinColumn(name="xxx_id") 后,就会使用外键关联,而不使用连接表了。
2.双向一对多
1)在多方
@ManyToOne
@JoinColumn(name="自己的数据库外键列名")
2)在一方
@OneToMany(mappedBy="多端的关联属性名")
@JoinColumn(name="对方的数据库外键列名")
多对一关联:
1.单向多对一:多方有一方的引用,一方没有多方的引用。
在多方
@ManyToOne(targetEntity=XXXX.class) //指定关联对象
@JoinColumn(name="") //指定产生的外键字段名
2.双向多对一:配置方式同双向一对多。
多对多关联:
1.单向多对多:
在主控方:
@ManyToMany
@JoinTable(name="中间表名",
joinColumns={@JoinColumn(name="中间表中主表的关联列")},
inverseJoinColumns={@JoinColumn(name="中间表中从表的关联列")})
2.双向多对多
在主控方:
@ManyToMany
@JoinTable(name="中间表名",
joinColumns={@JoinColumn(name="中间表中主表的关联列")},
inverseJoinColumns={@JoinColumn(name="中间表中从表的关联列")})
在被控方:
@ManyToMany(mappedBy="主体端的属性名")
0 0
- hibernate 注解
- hibernate注解
- hibernate注解
- hibernate注解
- Hibernate注解
- Hibernate 注解
- Hibernate注解
- hibernate注解
- hibernate 注解
- hibernate注解
- hibernate注解
- Hibernate注解
- hibernate注解
- hibernate注解
- hibernate注解
- Hibernate 注解
- hibernate注解
- Hibernate注解
- 在linux文本中打开出现乱码问题
- 适合初学者理解的A*(A星)算法(转)
- ppm内存溢出问题解决
- UML-状态图、活动图和交互图
- 开发 Spring Redis 应用程序
- hibernate注解
- 集合类学习笔记
- 两个链表的第一个公共结点
- RunTime
- 菜鸟之路-09
- dubbo连接池爆满
- 关于UIview UIlabel Unbutton 的一些常用的属性方法(用以优化界面)
- 关于Intent用法的几点学习笔记
- Ubuntu下将XPS文件转换成PDF文件