|
From: snpe <sn...@sn...> - 2004-05-05 22:04:43
|
Hello,
I'm sorry if spring have this features
I try declarative DAO implementation for hibernate.
I create hibernate mapping file and permanent class (example yu.co.snpe.hibernate.AdmSnpeUsers.java )
standard appplication-hibernate.xml with bean declaration like :
...
<bean id="usersDao" class="org.springframework.orm.hibernate.support.BaseHibernateDao">
<property name="sessionFactory"><ref local="sessionFactory"/>
</property>
<property name="clazz">
<value>yu.co.snpe.hibernate.AdmSnpeUsers</value>
</property>
</bean>
...
and its is all - I have Dao implementation complete declarative
BaseHibernateDao.java is like (this class implemented all HibernateOperations without entity dependencies;
I make interface IBaseHibernateDao like interface HibernateOperations without entity dependences) :
/*
* Created on May 5, 2004
*
*/
package org.springframework.orm.hibernate.support;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import net.sf.hibernate.LockMode;
import net.sf.hibernate.type.Type;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.HibernateCallback;
/**
* @author Haris Peco
*
*/
public class BaseHibernateDao extends HibernateDaoSupport implements IBaseHibernateDao {
private Class clazz;
public void delete(LockMode lockMode)
throws DataAccessException {
getHibernateTemplate().delete(clazz,lockMode);
}
public void delete() throws DataAccessException {
getHibernateTemplate().delete(clazz);
}
public void deleteAll(Collection entities) throws DataAccessException {
getHibernateTemplate().deleteAll(entities);
}
public void evict() throws DataAccessException {
getHibernateTemplate().evict(clazz);
}
public Object execute(HibernateCallback action) throws DataAccessException {
return getHibernateTemplate().execute(action);
}
public List executeFind(HibernateCallback action)
throws DataAccessException {
return getHibernateTemplate().executeFind(action);
}
public List find(String queryString, Type type)
throws DataAccessException {
return getHibernateTemplate().find(queryString,clazz,type);
}
public List find(String queryString)
throws DataAccessException {
return getHibernateTemplate().find(queryString,clazz);
}
public List find(String queryString, Object[] values, Type[] types)
throws DataAccessException {
return getHibernateTemplate().find(queryString,values,types);
}
public List find(String queryString, Object[] values)
throws DataAccessException {
return getHibernateTemplate().find(queryString,values);
}
public List findByNamedQuery(String queryName, Object value, Type type)
throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,value,type);
}
public List findByNamedQuery(String queryName, Object value)
throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,value);
}
public List findByNamedQuery(String queryName, Object[] values, Type[] types)
throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,values,types);
}
public List findByNamedQuery(String queryName, Object[] values)
throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,values);
}
public List findByNamedQuery(String queryName, String paramName,
Object value, Type type) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,paramName,value,type);
}
public List findByNamedQuery(String queryName, String paramName,
Object value) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,paramName, value);
}
public List findByNamedQuery(String queryName, String[] paramNames,
Object[] values, Type[] types) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,paramNames, values,types);
}
public List findByNamedQuery(String queryName, String[] paramNames,
Object[] values) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName,paramNames, values);
}
public List findByNamedQuery(String queryName) throws DataAccessException {
return getHibernateTemplate().findByNamedQuery(queryName);
}
public List findByNamedQueryAndValueBean(String queryName, Object valueBean)
throws DataAccessException {
return getHibernateTemplate().findByNamedQueryAndValueBean(queryName,valueBean);
}
public List findByValueBean(String queryString, Object valueBean)
throws DataAccessException {
return getHibernateTemplate().findByValueBean(queryString,valueBean);
}
public Object get(Serializable id, LockMode lockMode)
throws DataAccessException {
return getHibernateTemplate().get(clazz,id,lockMode);
}
public Object get( Serializable id)
throws DataAccessException {
return getHibernateTemplate().get(clazz,id);
}
public Object load( Serializable id, LockMode lockMode)
throws DataAccessException {
return getHibernateTemplate().load(clazz,id,lockMode);
}
public Object load(Serializable id)
throws DataAccessException {
return getHibernateTemplate().load(clazz,id);
}
public List loadAll() throws DataAccessException {
return getHibernateTemplate().loadAll(clazz);
}
public void lock(LockMode lockMode)
throws DataAccessException {
getHibernateTemplate().lock(clazz,lockMode);
}
public void save(Serializable id) throws DataAccessException {
getHibernateTemplate().save(clazz,id);
}
public Serializable save() throws DataAccessException {
return getHibernateTemplate().save(clazz);
}
public void saveOrUpdate() throws DataAccessException {
getHibernateTemplate().saveOrUpdate(clazz);
}
public Object saveOrUpdateCopy() throws DataAccessException {
return getHibernateTemplate().saveOrUpdateCopy(clazz);
}
public void update(LockMode lockMode)
throws DataAccessException {
getHibernateTemplate().update(clazz,lockMode);
}
public void update() throws DataAccessException {
getHibernateTemplate().update(clazz);
}
public BaseHibernateDao(Class clazz) {
super();
this.clazz = clazz;
}
public BaseHibernateDao () {
super();
}
public Class getClazz() {
return clazz;
}
public void setClazz(Class clazz) {
this.clazz = clazz;
}
}
Interface is :
/*
* Created on May 6, 2004
*
*/
package org.springframework.orm.hibernate.support;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import net.sf.hibernate.LockMode;
import net.sf.hibernate.type.Type;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.HibernateCallback;
/**
* @author Haris Peco
*
* Snpe Informacioni sistemi
*/
public interface IBaseHibernateDao {
public abstract void delete(LockMode lockMode) throws DataAccessException;
public abstract void delete() throws DataAccessException;
public abstract void deleteAll(Collection entities)
throws DataAccessException;
public abstract void evict() throws DataAccessException;
public abstract Object execute(HibernateCallback action)
throws DataAccessException;
public abstract List executeFind(HibernateCallback action)
throws DataAccessException;
public abstract List find(String queryString, Type type)
throws DataAccessException;
public abstract List find(String queryString) throws DataAccessException;
public abstract List find(String queryString, Object[] values, Type[] types)
throws DataAccessException;
public abstract List find(String queryString, Object[] values)
throws DataAccessException;
public abstract List findByNamedQuery(String queryName, Object value,
Type type) throws DataAccessException;
public abstract List findByNamedQuery(String queryName, Object value)
throws DataAccessException;
public abstract List findByNamedQuery(String queryName, Object[] values,
Type[] types) throws DataAccessException;
public abstract List findByNamedQuery(String queryName, Object[] values)
throws DataAccessException;
public abstract List findByNamedQuery(String queryName, String paramName,
Object value, Type type) throws DataAccessException;
public abstract List findByNamedQuery(String queryName, String paramName,
Object value) throws DataAccessException;
public abstract List findByNamedQuery(String queryName,
String[] paramNames, Object[] values, Type[] types)
throws DataAccessException;
public abstract List findByNamedQuery(String queryName,
String[] paramNames, Object[] values) throws DataAccessException;
public abstract List findByNamedQuery(String queryName)
throws DataAccessException;
public abstract List findByNamedQueryAndValueBean(String queryName,
Object valueBean) throws DataAccessException;
public abstract List findByValueBean(String queryString, Object valueBean)
throws DataAccessException;
public abstract Object get(Serializable id, LockMode lockMode)
throws DataAccessException;
public abstract Object get(Serializable id) throws DataAccessException;
public abstract Object load(Serializable id, LockMode lockMode)
throws DataAccessException;
public abstract Object load(Serializable id) throws DataAccessException;
public abstract List loadAll() throws DataAccessException;
public abstract void lock(LockMode lockMode) throws DataAccessException;
public abstract void save(Serializable id) throws DataAccessException;
public abstract Serializable save() throws DataAccessException;
public abstract void saveOrUpdate() throws DataAccessException;
public abstract Object saveOrUpdateCopy() throws DataAccessException;
public abstract void update(LockMode lockMode) throws DataAccessException;
public abstract void update() throws DataAccessException;
public abstract Class getClazz();
public abstract void setClazz(Class clazz);
}
Comments, please
Regards
Haris Peco
|