All pastes #352832 Raw Edit

Stuff

public text v1 · immutable
·published 2007-02-13 01:10 UTC
rendered paste body
public class AbstractDaoHibernate<T> {

        // MEMBERS

        private Class entityClass;
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }

    public Session getSession() {
        return sessionFactory.getCurrentSession();
    }

        // CONSTRUCTORS

        protected AbstractDaoHibernate(Class dataClass)
        {
                super();
                this.entityClass = dataClass;
        }



    // METHODS

    @SuppressWarnings("unchecked")
    public T load(Long id) {
        return (T)getSession().get(entityClass, id);
    }

    @SuppressWarnings("unchecked")
    public T loadChecked(Long id)
        throws EntityNotFoundException
    {
        T persistedObject = load(id);

        if(persistedObject == null) {
                throw new EntityNotFoundException(entityClass, id);
        }

        return persistedObject;
    }

    public void merge(T detachedObject) {
        getSession().merge( detachedObject );
    }

    public void save(T persistedObject) {
        getSession().saveOrUpdate( persistedObject );
    }

    public void delete(T persistedObject) {
        getSession().delete( persistedObject );
    }

    public void delete(Long id) {
        delete(loadChecked(id));
    }

}