首页 > 代码库 > 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。