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

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

1、多对一关联映射

 <many-to-one>会在多的一端加入一个外键,指向一的一端(主键),这个外键列名是由<many-to-one>中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致

功能:
   a. 告诉数据库,多的一端有一个外键,参照一的一端主键.
   b. 告诉hibernate,在插入多的一端时,外键的插入会参照一的一端的主键.
   c. 告诉hibernate,在查找多的一端时,会自动查找一的一端的对象(多的一端外键 ---> 一的一端主键)

2、cascade级联 --  是对象的连锁操作

  * <many-to-one name="group" column="groupid" cascade="all"/>
  * cascade取值为: all, none, save-update, delete  --  在各种情况下的级联操作.

user.java
package com.wsz.entity;public class User {	private  int  id;	private String name;	private Group group ;	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public Group getGroup() {		return group;	}	public void setGroup(Group group) {		this.group = group;	}		}
group.java
publicclass Group {  privte String id;  private String name;}  publicclass User{  private String id;  privte String name;  private Group group;  public Group getGroup(){return group;}  public void setGroup(Group group){  this.group = group;      }
级联添加
package com.wsz.test;import junit.framework.TestCase;import org.hibernate.Session;import com.wsz.entity.Group;import com.wsz.entity.HibernateUtils;import com.wsz.entity.User;public class TestManyToOne extends TestCase {	public void testManyToOne() {		Session session = null;		try {			session = HibernateUtils.getSession();			session.beginTransaction();			Group group = new Group();			group.setName("CEIT");			for (int i = 0; i < 10; i++) {				User user = new User();				user.setName("第" + i + "个");				user.setGroup(group);				session.save(user);			}			session.getTransaction().commit();			User user = (User) session.load(User.class, 27);			System.out.println(user.getGroup().getName());		} catch (Exception e) {			e.printStackTrace();			session.getTransaction().rollback();		} finally {			HibernateUtils.closeSession(session);		}	}}

 

转载地址:http://aobvl.baihongyu.com/

你可能感兴趣的文章
angularjs 利用filter进行表单查询及分页查询
查看>>
stack
查看>>
SCAU 8588 表达式求值
查看>>
OD使用教程5 - 调试篇05|解密系列
查看>>
kindeditor 操作时同步到textarea
查看>>
修改已经释放了的请求号
查看>>
重写和强制转换再调用能编译但不能运行
查看>>
logging ,re 模块
查看>>
Android入门之GridView(表格控件)
查看>>
JavaScript基础篇
查看>>
Cesium 加载天地图
查看>>
Centos7中安装最新版maven3.5.0
查看>>
python学习之老男孩python全栈第九期_数据库day003 -- 作业
查看>>
深度优先遍历
查看>>
常用类型转换 一.常用int和string类型转换
查看>>
Ext Js简单Grid分页及选择器的使用
查看>>
slice 定义和用法
查看>>
分类游戏 结构体
查看>>
导出、恢复、上传镜像
查看>>
java第一个程序提示找不到符号-System.out.printIn
查看>>