码迷,mamicode.com
首页 > 编程语言 > 详细

hibernate 配置文件 和一个 id生成类BaseEntity.java 和一个hibernate工具类 HibernatUtils.java

时间:2014-10-13 21:23:37      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:blog   io   os   ar   java   for   文件   sp   div   

package com;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.entity.Food;
import com.entity.Husband;
import com.entity.User;
import com.entity.Wife;
import com.entity.student.Classes;
import com.entity.student.Teacher;

public class Test1 {
	private Session s;
	private Transaction tran;
	@Before
	public void before(){
		s=HibernateUtils.getSession();
		tran=s.beginTransaction();
	}
	
	public void test(){
		
		User user=(User)s.get(User.class,7);
		//持久太
		//user.setUsername("xixixi");
		//修改后不用save直接提交也可保存
		tran.commit();
		s.clear();//使对象与session没有关系 , 脱离持久太
		
		//把游离态的user变成持久态
		tran=s.beginTransaction();
		s.update(user);
		user.setPassword("789");
		tran.commit();
		
		//将对象变成顺时太
		tran=s.beginTransaction();
		s.delete(user);
		tran.commit();
	}
	

	public void one2one(){
		Husband h=new Husband();
		Wife w=new Wife();
		//创建两个瞬时对象
		h.setName("xiaoming");
		w.setName("baby");
		w.setHusband(h);
		s.save(w);
		s.save(h);
		
	}
	@Test
	public void one2oneQuery(){
		Husband h=(Husband)s.get(Husband.class, 2);
		System.out.println(h.getName()+"-------------"+h.getWife().getName());
	}
	
	
	
	@After 
	public void after(){
		tran.commit(); 	
		HibernateUtils.closeSession(s);
	}
	
	

hibernate.cfg.xml

 

package com.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
@MappedSuperclass
public class BaseEntity {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Integer id;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}


}

 BaseEntity.java

 

package com;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {
	private static SessionFactory sf;
	static{
		Configuration cfg=new Configuration().configure();
		//在根目录src下括号内路径可以省略
		//Configuration cfg=new Configuration().configure("/hibernate.cfg.xml");
		//读取配置文件
		sf=cfg.buildSessionFactory();
	}
	//构造会话工厂
	
	public static Session getSession(){
		return sf.openSession();	
	}
	//得到会话
	
	public static void closeSession(Session session){
		if(session!=null){
			session.close();
			}	
	}
	//关闭会话
	
}

 hibernateutils.java

用来读取配置文件,生成会话

hibernate 配置文件 和一个 id生成类BaseEntity.java 和一个hibernate工具类 HibernatUtils.java

标签:blog   io   os   ar   java   for   文件   sp   div   

原文地址:http://www.cnblogs.com/tianhao/p/4022882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!