java关于hibernate如何基于注解创建联合主键
来源:互联网 发布:广州恒大淘宝 编辑:程序博客网 时间:2024/06/05 09:05
好久没写文章了。最近开发项目很紧,忙的要命= =。这段时间有时间就会把项目中的一些问题所设计到的知识点进行整理。今天就来聊一下如何使用hibernate创建一个联合主键的表。
需求:在进行表设计时,我需要一张中间表来进行多对多关联。
提到中间表我们自然就想到了联合主键,我们现在这张中间表有四个列,两个联合主键以及两个中间表自带的字段。
第一步:创建一个类来确定在中间表的domain映射关系中哪几个是联合主键的类
package com.maxrocky.expressageservice.domain.module;import lombok.Data;import javax.persistence.Embeddable;import java.io.Serializable;/** * Created by beyondLi on 2017/6/27. * 联合主键使用 */@Embeddable@Datapublic class UserModuleRelevanceKey implements Serializable { //员工id private Integer staffId; //对应的权限id private Integer moduleId;}
注!这里的属性名字一定要和你映射关系的domain中你要做联合主键的属性名字一样,否则会报错。(@Data是lombok,与hibernate无关,去除此注解生成getset方法效果一样)
第二步:创建中间表的映射
package com.maxrocky.expressageservice.domain.module;import lombok.Data;import javax.persistence.*;import java.time.LocalDateTime;/** * Created by beyondLi on 2017/6/27. * 账号 模块中间关联表 */@Entity@Table(name = "user_module_relevance")@IdClass(UserModuleRelevanceKey.class)@Datapublic class UserModuleRelevance { //员工id @Id @Column(name = "staff_id") private Integer staffId; //对应的权限id @Id @Column(name = "module_id") private Integer moduleId; //创建时间 @Column(name = "create_date") private LocalDateTime createDate; //修改时间 @Column(name = "modify_date") private LocalDateTime modifyDate;}
结果如图所示
好了,这样就大功告成了。如果hibernate设置的是自动创建表,只要运行项目就会生成一张staffId与moduleId形成的联合主键的表啦。
以上观点仅为个人理解,如果不足或错误,望指出,共同成长。
阅读全文
0 0
- java关于hibernate如何基于注解创建联合主键
- hibernate基于注解的联合主键映射
- java注解联合主键
- hibernate联合主键 注解方式
- hibernate如何配置联合主键
- Java学习之道:hibernate联合主键的创建方式
- Hibernate中使用注解生成联合主键
- 联合主键用Hibernate注解映射方式
- hibernate笔记-008-联合主键注解配置
- Hibernate基于XML的----联合主键配置
- hibernate 注解 ,视图无主键,怎么配置联合主键
- Hibernate 中关于主键生成策略之联合主键
- 注解联合主键
- Hibernate注解映射联合主键的三种主要方式
- hibernate联合主键的三种注解做法
- hibernate联合主键的三种注解做法
- Hibernate注解映射联合主键的三种主要方式
- hibernate基于注解的主键设置
- shellScript之数组操作3
- 一致性哈希算法的原理与实现
- poj1065
- shellScript之数组操作4
- Liunx彩色进度条
- java关于hibernate如何基于注解创建联合主键
- C/C++程序的内存分配
- shellScript之数组操作5
- Django配置Ajax跨域调用/设置Cookie
- Android---广播
- iOS BASE64 编码 和HASH 哈希函数(散列函数) ~用户信息安全
- shellScript之数组操作6
- Spark转化算子和操作算子
- 安卓练习