博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate多对多关联
阅读量:5355 次
发布时间:2019-06-15

本文共 2037 字,大约阅读时间需要 6 分钟。

一、配置双向多对多关联

以Project类(项目)和Emp类(员工)为例:

1、创建Project类,并需要定义集合类型的Emp属性

public class Project {    //编号     private Integer pid;     //名称     private String pname;     //定义集合类型的Emp属性     private Set
emps=new HashSet
(); public Integer getPid() { return pid; } public void setPid(Integer pid) { this.pid = pid; } public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public Set
getEmps() { return emps; } public void setEmps(Set
emps) { this.emps = emps; }

2、同理 创建Emp类,并需要定义集合类型的Project属性

public class Emp {    private  String empname;    private  Integer nid;    private Set
pros=new HashSet
(); public String getEmpname() { return empname; } public void setEmpname(String empname) { this.empname = empname; } public Integer getNid() { return nid; } public void setNid(Integer nid) { this.nid = nid; } public Set
getPros() { return pros; } public void setPros(Set
pros) { this.pros = pros; } }

3、需建立第三张表 关联Project和Emp各自的主键pid、nid

 

4、编写Project.hbm.xml和Emp.hbm.xml小配置,并植入<set>元素中的table属性 第三张表ProEmp 以及多对多<many-to-many>标签 class指定类型 

Emp.hbm.xml关键代码如下:

Project.hbm.xml关键代码如下:

5、大配置hibernate.cfg.xml 需关联小配置

6、测试类 Test

/*     * 多对多 双向     */        @Test    public void addTest(){                //创建员工对象             Emp emp=new Emp();             emp.setEmpname("未知");             //创建工程对象             Project pro=new Project();             pro.setPname("花园");                          //将员工对象添加到工程  反之 同理             pro.getEmps().add(emp);             emp.getPros().add(pro);                          //保存             session.save(pro);             session.save(emp);                                        }

转载于:https://www.cnblogs.com/ruixinyu/p/5837526.html

你可能感兴趣的文章
$ 一步一步学Matlab(3)——Matlab中的数据类型
查看>>
5.6.3.7 localeCompare() 方法
查看>>
Linux下好用的简单实用命令
查看>>
常用web字体的使用指南
查看>>
描绘应用程序级的信息
查看>>
poj2406-Power Strings
查看>>
2018/12/18 JS会像Linux一样改变编程
查看>>
php环境搭建脚本
查看>>
FTP主动模式与被动模式说明
查看>>
php 编译常见错误
查看>>
MES架构
查看>>
【Python3 爬虫】15_Fiddler抓包分析
查看>>
高性能JavaScript-JS脚本加载与执行对性能的影响
查看>>
关于标签之间因为换行等问题造成的空白间距问题处理
查看>>
hdu 2767(tarjan)
查看>>
sklearn之分类模型混淆矩阵和分类报告
查看>>
MySQL各存储引擎
查看>>
项目--简单导出CSV文件
查看>>
Oracle session相关数据字典(一)
查看>>
织梦文章内容提取第一张或者多张图片输出
查看>>