hibernate的单向多对一(二)

2014-11-24 03:26:44 · 作者: · 浏览: 2
(Object entity) { // 获取session对象 Session session = getSessionObject(); // 打开事务 Transaction ts = session.beginTransaction(); try { // 保存 session.update(entity); // 提交事务 ts.commit(); } catch (Exception e) { ts.rollback(); } } @Override public void deleteObject(Object entity) { // 获取session对象 Session session = getSessionObject(); // 打开事务 Transaction ts = session.beginTransaction(); try { // 保存 session.delete(entity); // 提交事务 ts.commit(); } catch (Exception e) { ts.rollback(); } } @Override public void deleteObjectById(Class clazz, Serializable id) { // 获取session对象 Session session = getSessionObject(); // 打开事务 Transaction ts = session.beginTransaction(); try { // 保存 session.delete(getObjectById(clazz, id)); // 提交事务 ts.commit(); } catch (Exception e) { ts.rollback(); } } @Override public Object loadObjectById(Class clazz, Serializable id) { return null; } @Override public Object getObjectById(Class clazz, Serializable id) { Object obj = null; Session session = getSessionObject(); Transaction ts = session.beginTransaction(); try { obj = session.get(clazz, id); ts.commit(); } catch (Exception e) { ts.rollback(); }finally{ session.close(); } return obj; } @Override public List getObjects(Class clazz) { List list = new ArrayList(); Session session = getSessionObject(); Transaction ts = session.beginTransaction(); try { list = session.createQuery("from "+clazz.getName()).list(); ts.commit(); } catch (Exception e) { ts.rollback(); } return list; } }
Hibernate封装的工具类HiberUtil.java

package www.csdn.net.blank.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

public class HiberUtil {

	static Configuration cfg;
	static ServiceRegistry serviceRegistry;
	static SessionFactory sessionFactory;
	
	static{
		//创建Configuration对象  调用.configure()方法 ,默认class/hibernate.cfg.xml
		cfg = new Configuration().configure();
		
		//创建服务对象
		serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
		
		//创建sessionFactory工厂
		sessionFactory = cfg.buildSessionFactory(serviceRegistry);
	}
	
	
	/**
	 * 获取session对象
	 * @return
	 */
	public static Session openSession(){
		return sessionFactory.openSession();
	}
	
}
hibernate.cfg.xml

  


  

    
     
    
      com.
     mysql.jdbc.Driver 
     
     
    
      jdbc:mysql://localhost:3306/jd2 useUincode=true&characterEncoding=UTF-8 
     
     
    
     root
     
     
    
     root
     
     
    
      org.hibernate.dialect.MySQLDialect 
     
     
    
     thread
     
     
    
     true
     
     
    
     false
     
     
    
     update
     
     
     
     
   


  

测试类

package www.csdn.net.blank.junit;

import org.junit.Test;

import www.csdn.net.blank.bean.City;
import www.csdn.net.blank.bean.Province;
import www.csdn.net.blank.dao.BaseDao;
import www.csdn.net.blank.dao.impl.BaseDaoImpl;
import www.csdn.net.blank.util.HiberUtil;

public class Test1 {
	@Test
	public void test() {
		HiberUtil.openSession();
	}
	private BaseDao baseDao=new BaseDaoImpl();
	@Test
	public void save(){
		Prov