JPA配置一对多双向并且外键中含联合主键
来源:互联网 发布:excel数据统计分析教程 编辑:程序博客网 时间:2024/06/06 19:56
最近开发了个案子
关于一对多映射,并且多的一方主键为复合主键
完整code如下
1.主体类
@Entity@Table(name="INFO_GRP")public class InfoGrp extends GenericBean implements IDataObject{private static final long serialVersionUID = 1918446199175160468L;@Id@Column(name = "grpId", unique=true, nullable = false, columnDefinition = "varchar(10)")private String grpId;@Column(name = "grpname", nullable = true, columnDefinition = "varchar(75)")private String grpName;@Column(name = "creator", nullable = true, columnDefinition = "varchar(10)")private String creator;@Column(name = "createTime",nullable = true)@Temporal(TemporalType.TIMESTAMP)private Date createTime;@Column(name = "updater", nullable = true, columnDefinition = "varchar(10)")private String updater;@Column(name = "updateTime",nullable = true)@Temporal(TemporalType.TIMESTAMP)private Date updateTime;@Column(name = "deleted", nullable = true, columnDefinition = "varchar(1)")private String deleted;@Column(name = "isApprove", nullable = true, columnDefinition = "varchar(1)")private String isApprove; @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="id.infoGrp") private Set<InfoGrpPermission> infoGrpPermissions = new HashSet<InfoGrpPermission>();}
关联的多的一方的对象如下:
@Entity@Table(name="INFO_GRP_PERMISSION")public class InfoGrpPermission extends GenericBean implements IDataObject{private static final long serialVersionUID = 1918446199175160468L;@EmbeddedIdprivate InfoGrpPermissionId id;@Column(name = "creator", nullable = true, columnDefinition = "varchar(10)")private String creator;@Column(name = "createTime",nullable = true)@Temporal(TemporalType.TIMESTAMP)private Date createTime;@Column(name = "updater", columnDefinition = "varchar(10)")private String updater;@Column(name = "updateTime",nullable = true)@Temporal(TemporalType.TIMESTAMP)private Date updateTime;@Column(name = "deleted", nullable = true, columnDefinition = "varchar(1)")private String deleted;}
复合主键编写如下:
@Embeddablepublic class InfoGrpPermissionId implements Serializable{private static final long serialVersionUID = 1918446199175160468L;@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)@JoinColumn(name = "grpId", nullable = false, columnDefinition = "varchar(10)")private InfoGrp infoGrp;@Column(name = "permission", nullable = false, columnDefinition = "varchar(10)")private String permission;}
其中的get和set方法均省略。
- JPA配置一对多双向并且外键中含联合主键
- JPA一对多双向配置实例
- JPA---双向一对多
- mybatis 联合主键一对多
- hibernate联合主键生成策略以及一对多配置
- JPA 一对多双向关联
- JPA双向关系配置&复合主键
- [记录]JPA双向关联一对多
- JPA一对多的双向关联
- JPA 菜鸟教程 5 双向一对多
- JPA映射关联关系-双向一对多
- JPA--联合主键
- JPA:联合主键
- JPA联合主键
- JPA 的联合主键
- jpa的单项一对多,双向一对多
- JPA之JPA中的一对多双向关联
- JPA 一对多实例配置
- MySQL 索引优化 btree hash rtree
- 将QQ书签导入到IE收藏夹
- Matlab图像的灰度直方图
- YUV4:2:2和YUV4:2:0 区别
- SQL SERVER性能优化综述
- JPA配置一对多双向并且外键中含联合主键
- ALV中的fieldcat常用以及大全
- JAVA学习(四)__equals与equalsIgnoreCase 的区别 ?
- yuv 格式基础
- 指针表达式总结
- 高效程序员的7个重要习惯
- 收集两篇讲解gzip文件压缩命令‘实际使用’的文章
- Oracle删除表
- 关于YUV和RGB之间的转换公式