?? many2onetest.java
字號(hào):
package com.bjsxt.hibernate;
import org.hibernate.Session;
import junit.framework.TestCase;
public class Many2OneTest extends TestCase {
public void testSaveMany2one1() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
Group group = new Group();
group.setName("java開發(fā)組");
for (int i = 0; i < 10 ; i++) {
User user = new User();
user.setName("User_" + i);
//建立對(duì)象之間的關(guān)系
user.setGroup(group);
//因?yàn)閡ser引用了Transient對(duì)象(group),所以拋出了TransientObjectException
//持久對(duì)象不能直接引用瞬時(shí)對(duì)象
session.save(user);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
public void testSaveMany2one2() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
Group group = new Group();
group.setName("java開發(fā)組");
//將group轉(zhuǎn)換為持久對(duì)對(duì)象
session.save(group);
for (int i = 0; i < 10 ; i++) {
User user = new User();
user.setName("User_" + i);
//建立對(duì)象之間的關(guān)系
user.setGroup(group);
//因?yàn)間roup為持久對(duì)象,所以可以成功保存
session.save(user);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
public void testSaveMany2one3() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
Group group = new Group();
group.setName("java開發(fā)組");
for (int i = 0; i < 10 ; i++) {
User user = new User();
user.setName("User_" + i);
//建立對(duì)象之間的關(guān)系
user.setGroup(group);
//通過級(jí)聯(lián),是解決TransientObjectException異常的一種手段
session.save(user);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 轉(zhuǎn)載User對(duì)象
*
*/
public void testLoadUser() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
User user = (User)session.load(User.class, 20);
System.out.println("user name=" + user.getName());
System.out.println("related group=" + user.getGroup().getName());
}catch(Exception e) {
e.printStackTrace();
}finally {
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -