【HIBERNATE框架开发之六】HIBERNATE中ANNOTATION的关系映射&&组件映射!
使用注解 @OneToOne
当前Husband类中有一个wife对象,将其注解成OneToOne即可,那么观察生成的两张表如下:
其中如果想更改注解 @OneToOne默认为我们生成的Wife_id名,可以使用@JoinColumn(name=”xxx”) 即可;
1.2. 双向外键关联 :
仍然使用注解 @OneToOne
但是如果是双向关联,必须设置其@OneToOne(mappedBy=”xxx”) xxx表示对方那里是主导属性名”
1.3 单向主键关联:
在@OneToOne 下继续使用注解:@PrimaryKeyJoinColumn 即可 ;
1.4 双向主键关联
在另外一个关联类中,@OneToOne 下也继续使用注解:@PrimaryKeyJoinColumn
2. 一对一联合主键映射:
类似其他映射,只是联合主键在自定义名字时,不能使用 @JoinColumn,而是使用如下形式:
这里wifeId和wifeName是自定义主键名,referencedColumnName则对应其主键名;
3.(嵌入式对象)组件映射:
将另外一个类成为实体类的一部分进行映射;
注意:1.成为其他实体类一部门的类不要注解为@Entity 实体类!
2. 使用@Embedded 将其类注解即可;
3.组件属性名名为了保证不与实体类属性名冲突,可以使用如下注解:
3.1 使用如下形式:
5. 一对多单向关联
如果直接使用 @OneToMany 进行注解,默认Hibernate当成多对多进行映射,如果需要设置一对多,那么如下继续注解:
@JoinColumn(name=”GroupId”) 加入这个即可让默认多对多,当成一对多处理;
6.一对多、多对一双向关联
一对多,多对一双向关联属于一个映射;直接使用mappedBy即可( @OneToMany(mappedBy=”xxx”) );
7. 多对多单向关联
使用注解 @ManyToMany ,其中如果想自定义中间表的表名和类名可以使用 @JoinTable 关键字;
8.多对多双向关联
关联两个实体类 @ManyToMany即可;
相关文章
- ECCV 2022 | 仅用全连接层处理视频数据,美图&NUS实现高效视频时空建模
- 视屏剪辑软件 & free video editor
- office2007安装包下载,专业版&完整版&官方原版
- docker安装 - 在线&离线
- JavaEE8 - Number&Math&Character类
- 清华&商汤提出了神经SDF!从多个照明条件下单视图纯阴影或RGB图像重建!论文/代码速递2022.11.29!
- Flink SQL 知其所以然(二十九):Deduplication去重 & 获取最新状态操作
- 【Vite】配置HTTPS&自签名证书
- 如何与B&S建立EDI连接?
- CLion 2022 for Mac&win(C和C ++ IDE智能代码编辑器)
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-193 Password Suspects(C++&Java)
- App Cleaner & Uninstaller for mac(mac应用清理和卸载软件)v8.1.1中文激活版
- 【Lionyan(严亮) & Lvleilv(吕磊)】一切舆情,尽收眼底 - 信息安全雷达系统
- [V&N2020 公开赛] Final Game
- Hibernate hibernate.max_fetch_depth属性:设置抓取深度
- Hibernate hibernate.use_sql_comments属性:指定是否输出注释信息
- Hibernate hibernate.use_identifer_rollback属性:重设默认值
- AT&T 拥抱开源,软件开源程度或将达到50%
- AMP MySQL升级提升数据库性能的必要之举(amp mysql升级)
- AMP与Oracle结合提升数据库性能($amp oracle)
- Javascript按位与运算符(&)使用介绍