hibernate学习之多对多
来源:互联网 发布:怎么上传图片到淘宝 编辑:程序博客网 时间:2024/05/17 09:04
1.画图理解
2.执行步骤(用户和权限)
(1)创建实体类,在实体类中表示相互之间关系
package com.sq.entity;import java.util.HashSet;import java.util.Set;/** *@author sq * */public class Role {private String r_id;private String r_name;//表示一个权限可以有多个用户一起使用Set<User> users = new HashSet<User>();public Set<User> getUsers() {return users;}public void setUsers(Set<User> users) {this.users = users;}public String getR_id() {return r_id;}public void setR_id(String r_id) {this.r_id = r_id;}public String getR_name() {return r_name;}public void setR_name(String r_name) {this.r_name = r_name;}@Overridepublic String toString() {return "Role [r_id=" + r_id + ", r_name=" + r_name + "]";}}
package com.sq.entity;import java.util.HashSet;import java.util.Set;/** *@author sq * */public class User {private String u_id;private String u_name;private String u_password;//表示一个用户可以有多种权限Set<Role> users = new HashSet<Role>();public String getU_id() {return u_id;}public void setU_id(String u_id) {this.u_id = u_id;}public String getU_name() {return u_name;}public void setU_name(String u_name) {this.u_name = u_name;}public String getU_password() {return u_password;}public void setU_password(String u_password) {this.u_password = u_password;}@Overridepublic String toString() {return "User [u_id=" + u_id + ", u_name=" + u_name + ", u_password="+ u_password + "]";}}
(2)配置映射文件,在映射文件中表示多对多的关系
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.sq.entity.User" table="t_user"><id name="u_id"><generator class="uuid"></generator></id><property name="u_name"></property><property name="u_password"></property><!-- 在用户映射文件中表示多个权限name属性:set集合名称table:第三张表的名称 --><set name="roles" table="user_role"><!-- column:是指当前映射文件对应实体类在第三张表中外键名称 --><key column="u_id"></key><!-- class:集合实体类的全路劲column:集合实体类对应第三张表的外键 --><many-to-many class="com.sq.entity.Role" column="r_id"></many-to-many></set></class></hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.sq.entity.Role" table="t_role"><id name="r_id"><generator class="uuid"></generator></id><property name="r_name"></property><!-- 在用户映射文件中表示多个权限name属性:set集合名称table:第三张表的名称 --><set name="users" table="user_role"><!-- column:是指当前映射文件对应实体类在第三张表中外键名称 --><key column="r_id"></key><!-- class:集合实体类的全路劲column:集合实体类对应第三张表的外键 --><many-to-many class="com.sq.entity.User" column="u_id"></many-to-many></set></class></hibernate-mapping>
阅读全文
0 0
- hibernate学习之多对多
- Hibernate学习之多对多映射
- hibernate之多对多
- Hibernate之多对多映射
- hibernate之多对多注解
- Hibernate学习笔记10--关联关系之多对多
- hibernate多表操作之多对多
- hibernate关系映射之多对多
- Hibernate关联关系之多对多
- hibernate映射关系之多对多
- hibernate关联关系之多对多关系
- hibernate之多对多单向关联
- hibernate之多对多双向关联
- Hibernate关系映射之多对多关系
- Hibernate之多对多双向关联
- Hibernate之多对多单向关联
- 【Hibernate五】关系映射之多对多
- Hibernate之多对多表,操作实例
- Android Service完全解析,关于服务你所需知道的一切(上)
- Collection 和 Collections的区别。
- 解析Android上强大的图表库MPAndroidChart
- Unity3D开发之委托系列
- HttpClient常用操作
- hibernate学习之多对多
- 刷清橙OJ--A1093.闰年
- 关闭正在播放的视频函数
- JAVA序列化与反序列化
- 刷清橙OJ--A1094.牛顿迭代法求方程的根
- Android Service完全解析,关于服务你所需知道的一切(下)
- Spring Boot 容器选择 Undertow 而不是 Tomcat
- intellij idea 提示不区分大小写
- 使用Eclipse时出现Unhandled event loop exception错误的解决办法