hibernate的get,load,persist方法比较(二)

来源:互联网 发布:大数据修炼系统txt 编辑:程序博客网 时间:2024/06/08 16:25
package com.itcast.hibernate.test;


import java.util.Date;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import com.itcast.hibernate.domain.User;
import com.itcast.hibernate.util.HibernateUtil;
public class TestHibernate {
@Test
public void testAddUser() {
User user=new User();
user.setId(3);
user.setName("小亮");
user.setBirthday(new java.sql.Date(new Date().getTime()));
addUser(user);
}
@Test
public void testGetUser() {
User user=getUser(1);
System.out.println(user);
}
public static void addUser(User user){
Session session=null;
Transaction tx=null;
try{
session=HibernateUtil.getSession();
tx=session.beginTransaction();//开启事务
session.save(user);
tx.commit();//提交事务
}finally{
if(session!=null)
session.close();
}
}
public static User getUser(int id){
User user=null;
Session session=null;
Transaction tx=null;
try{
session=HibernateUtil.getSession();
tx=session.beginTransaction();//开启事务
//user=(User) session.get(User.class,id);
user=(User) session.load(User.class,id);//懒加载(延迟加载)先从session中找
//如果session中没有,如果没有,而且访问了user对象,则会访问数据库
System.out.println(user);
tx.commit();//提交事务
}finally{
if(session!=null)
session.close();
}
return user;
}
}
阅读全文
0 0