one2onetest.java

来自「hibernate 关联实例包括(一对一关联)一对多关联(单向」· Java 代码 · 共 57 行

JAVA
57
字号
package com.bjsxt.hibernate;

import org.hibernate.Session;

import junit.framework.TestCase;

public class One2OneTest extends TestCase {
	
	
	public void saveOne2One() {
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			IdCard idCard = new IdCard();
			idCard.setCardNo("12345678909999999");
			
			Person person = new Person();
			person.setName("张三");
			
			//在两个对象之间建立关联
			person.setIdCard(idCard);
			
			//在一对一主键关联映射中,存储Person对象的时候,其关联对象IdCard也被同时存储
			//而不会抛出TransientObjectException,因为它默认了级联属性
			session.save(person);
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
	
	/**
	 * 从Person加载数据
	 *
	 */
	public void testLoadOne2One() {
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			Person person = (Person)session.load(Person.class, 1);
			System.out.println("姓名:" + person.getName());
			System.out.println("身份证号:" + person.getIdCard().getCardNo());
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?