首页 > 代码库 > hibernate 配置文件 和一个 id生成类BaseEntity.java 和一个hibernate工具类 HibernatUtils.java

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

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;@MappedSuperclasspublic 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