博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Hibernate】多对多关系的表达
阅读量:5833 次
发布时间:2019-06-18

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

User.hbm.xml

 

Role.hbm.xml

hibernate.cfg.xml

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/hibernate
root
org.hibernate.dialect.MySQLDialect
true
true
update
4
thread

Demo.java

package com.ysong.test;import org.hibernate.Session;import org.hibernate.Transaction;import org.junit.Test;import com.ysong.domain.Role;import com.ysong.domain.User;import com.ysong.utils.HibernateUtils;/* * 表达多对多关系 *  * 多对多关系维护中,通过中间表来维护两表的关系,中间表有两列,都为主键。如果不加inverse属性,默认双方都要维护关系, * 会导致主键重复,所以会报错。 */public class Many2ManyDemo {    @Test    public void fun1() {        Session session = HibernateUtils.openSession();        Transaction tx = session.beginTransaction();        try {            // 操作            // 1.创建两个User            User user1 = new User();            user1.setUser_name("杨先生");            User user2 = new User();            user2.setUser_name("李女士");            // 2.创建两个User            Role role1 = new Role();            role1.setRole_name("程序员");            Role role2 = new Role();            role2.setRole_name("老师");            // 3.用户表达关系            user1.getRoles().add(role1);            user1.getRoles().add(role2);            user2.getRoles().add(role1);            user2.getRoles().add(role2);            // 4.角色表达关系            role1.getUsers().add(user1);            role1.getUsers().add(user2);            role2.getUsers().add(user1);            role2.getUsers().add(user2);            // 5.调用Save方法一次保存            session.save(user1);            session.save(user2);            session.save(role1);            session.save(role2);        } catch (Exception e) {            tx.rollback();        }        tx.commit();        session.close();    }}

 

转载于:https://www.cnblogs.com/y-song/p/10932915.html

你可能感兴趣的文章
TMS320F28335项目开发记录5_28335之CCS编程基础
查看>>
hive列转行
查看>>
GridView编辑删除操作
查看>>
设计模式---装饰模式
查看>>
用Intent实现activity的跳转
查看>>
二叉树的三种遍历的应用(表达式,求深度,叶子数,结点数,二叉树的建立,复制)...
查看>>
说说JSON和JSONP,也许你会豁然开朗
查看>>
LTDFZ
查看>>
启明星请假系统appform:流程在线帮助
查看>>
c# post 数据的方法
查看>>
MyEclipse下XFire开发Webservice实例
查看>>
python ftplib模块
查看>>
C# winform自定义Label控件使其能设置行距
查看>>
依据道路的shape获得high_cross和low_cross
查看>>
U盘装win7系统
查看>>
char与byte的差别
查看>>
Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
查看>>
xUtils如何通过注解对FindViewById进行封装
查看>>
Codeforces Round #160 (Div. 2)---A. Roma and Lucky Numbers
查看>>
SAE+Java+jetty
查看>>