用hibernate存入和写出Blob、Clob(一)

2014-11-24 03:26:40 · 作者: · 浏览: 0

Person .java

package www.csdn.net.blank.bean;

import java.io.Serializable;
import java.sql.Blob;
import java.sql.Clob;

public class Person  implements Serializable{
    /**
	 * 
	 */
    private static final long serialVersionUID = 1L;
    private Integer id;
    private Blob image;
    private Clob intro;
    
	public Person() {
		super();
	}

	public Person(Integer id, Blob image, Clob intro) {
		super();
		this.id = id;
		this.image = image;
		this.intro = intro;
	}

	public Integer getId() {
		return id;
	}

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

	public Blob getImage() {
		return image;
	}

	public void setImage(Blob image) {
		this.image = image;
	}

	public Clob getIntro() {
		return intro;
	}

	public void setIntro(Clob intro) {
		this.intro = intro;
	}    
    
}

Person.hbm.xml

  


  
     
   
    
    
     
      
      
     
     
     
     
   


  


BaseDao.java

package www.csdn.net.blank.dao;

import java.io.Serializable;
import java.util.List;


@SuppressWarnings("rawtypes")
public interface BaseDao {


	/**
	 * 保存实体对象
	 * 
	 * @param entity
	 */
	public void saveObject(Object entity);

	/**
	 * 更新实体对象
	 * 
	 * @param entity
	 */
	public void updateObject(Object entity);

	/**
	 * 删除实体对象
	 * 
	 * @param entity
	 */
	public void deleteObject(Object entity);

	/**
	 * 根据id删除实体对象
	 * 
	 * @param clazz
	 * @param id
	 */
	public void deleteObjectById(Class clazz,Serializable id);

	/**
	 * 根据id查询实体对象
	 * 
	 * @param clazz
	 * @param id
	 * @return
	 */
	public Object loadObjectById(Class clazz, Serializable id);

	/**
	 * 根据id查询实体对象
	 * 
	 * @param clazz
	 * @param id
	 * @return
	 */
	public Object getObjectById(Class clazz, Serializable id);

	/**
	 * 查询所有的操作
	 * 
	 * @param clazz
	 * @return
	 */
	public List getObjects(Class clazz);

}

BaseDaoImpl.java

package www.csdn.net.blank.dao.impl;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;

import www.csdn.net.blank.dao.BaseDao;
import www.csdn.net.blank.util.BaseHibernateDaoImpl;

@SuppressWarnings("rawtypes")
public class BaseDaoImpl extends BaseHibernateDaoImpl implements BaseDao {

	@Override
	public void saveObject(Object entity) {

		// 获取session对象
		Session session = getSessionObject();
		// 打开事务
		Transaction ts = session.beginTransaction();
		try {
			// 保存
			session.save(entity);
			// 提交事务
			ts.commit();
		} catch (Exception e) {
			ts.rollback();
		}
	}

	@Override
	public void updateObject(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()