Hibernate使用JPA实现多对多配置
来源:互联网 发布:阿里大于发送短信php 编辑:程序博客网 时间:2024/06/10 17:15
在多对多中其实和一对多大部分一致,只是在两边的JavaBean中加入Set集合,
并为Set集合添加注解,以下JavaBean省略set和get方法
@Entity@Table(name="t_user")public class User {@Id@Column(name="u_id")@GenericGenerator(name="mygenerator",strategy="native")@GeneratedValue(generator="mygenerator")private Integer uid;@Column(name="u_name")private String uname;/* * 多对多 */@ManyToMany(targetEntity=Role.class, // 关联的另一方cascade={//配置级联操作CascadeType.PERSIST,//级联保存CascadeType.MERGE//级联更新})@JoinTable(name="t_user_role", //中间表名joinColumns={//没有放弃外键的一方@JoinColumn(name="u_id",//中间表的字段名referencedColumnName="u_id"//自己的表的主键名) }, inverseJoinColumns={//放弃外键维护的一方@JoinColumn(name="r_id",//中间表的对应自己的外键名referencedColumnName="r_id"//自己表的主键名)})private Set<Role> roles = new HashSet<Role>();}
@Entity@Table(name="t_role")public class Role {@Id@Column(name="r_id")@GenericGenerator(name="mygenerator",strategy="native")@GeneratedValue(generator="mygenerator")private Integer rid;@Column(name="r_name")private String rname;/* * 多对多 */@ManyToMany(targetEntity=User.class,//目标对象,关联的另一方mappedBy="roles"//放弃外键维护)private Set<User> users = new HashSet<User>();}
重点看@ManyToMany注解。
这里两边都配置了@ManyToMany但是为什么两边配置的属性不一样呢,
在这里一边是用户一边是角色,以前在之前的配置文件式的多对多中说过,在多对多中必须有一方要放弃外键维护,否则会报主键重复异常
在这里就是把角色的外键维护去掉了,理由是操作少的一方取消外键维护,在这里我就把角色的权利去掉了,怎么去掉的呢,mappedBy="roles"这句就相当于去掉了外键维护
别的属性在代码中都有注释,按照上面代码改就可以了
上面一些没有注释的在之前的文章中有解释,在这里就不啰嗦了
阅读全文
0 0
- Hibernate使用JPA实现多对多配置
- Hibernate使用JPA实现一对多配置
- JPA 多对多实例配置
- Hibernate和JPA使用连接表处理多对一映射
- 【JPA】使用hibernate的jpa的二级缓存配置
- Hibernate中JPA的简单使用,实现简单的对表的增删改查操作
- hibernate实现多对一映射文件配置
- jpa多对多
- jpa多对多
- HIBERNATE多对多配置
- Hibernate多对多配置
- Hibernate多对多配置
- hibernate多对多配置
- Hibernate 多对一配置
- hibernate对jpa的支持,自己实现AnnotationSessionFactoryBean,可以对jpa标签进行识别
- hibernate+JPA实现对数据库的增删改查
- Hibernate使用Map实现多对多映射
- hibernate使用注解实现多对多关联映射
- 汇编语言指命系统
- UDP传输的java代码(带详细注释)
- 如何去除桌面图标文字下的阴影
- 关于广义相对论与量子力学之我见
- 大学生创业知识(转)
- Hibernate使用JPA实现多对多配置
- Linux下相关软件安装apache,jdk...(转)
- 大头贴机(转)
- 物流运输 洛谷p1772
- Photoshop鼠绘教程:精美数码相机(转)
- 算账的学问(转)
- 我的人工智能梦(一、前言)
- webplayer电影地址与下载方法(转)
- MD5加密