Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Define the hibernate template in the spring xml as well don't use the new keyword. Below is sample config and classes.</p> <pre><code>&lt;bean id="yourHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"&gt; &lt;property name="sessionFactory"&gt; &lt;ref bean="yourSessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; &lt;bean id="yourRootDAO" class="woc.dao.base.RootDAOImpl" abstract="true"&gt; &lt;property name="hibernateTemplate" ref="yourHibernateTemplate"/&gt; &lt;/bean&gt; &lt;bean id="comboValueDAO" parent="yourRootDAO" class="woc.dao.impl.ComboValueDAOImpl" /&gt; import java.io.Serializable; import java.lang.reflect.Method; import java.util.Collection; import java.util.List; import org.apache.log4j.Logger; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public abstract class RootDAOImpl&lt;T&gt; extends HibernateDaoSupport implements RootDAO&lt;T&gt; { protected Logger logger = Logger.getLogger(getClass()); private Class&lt;T&gt; clazz; public RootDAOImpl(Class&lt;T&gt; clazz) { this.clazz = clazz; } public void delete(T entity) { //Mark entity as deleted try{ Method setDeletedMethod = clazz.getDeclaredMethod("setDeleted", Boolean.class); setDeletedMethod.invoke(entity, true); getHibernateTemplate().saveOrUpdate(entity); }catch(Exception e){ e.printStackTrace(); } //actually delete // getHibernateTemplate().delete(entity); } @Override public void deleteAll(Collection&lt;T&gt; entities) { getHibernateTemplate().deleteAll(entities); } @Override public void saveOrUpdateAll(Collection&lt;T&gt; entities) { getHibernateTemplate().saveOrUpdateAll(entities); } @SuppressWarnings("unchecked") @Override public T get(Serializable id) { return (T)getHibernateTemplate().get(clazz, id); } @SuppressWarnings("unchecked") @Override public T load(Serializable id) { return (T)getHibernateTemplate().load(clazz, id); } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; find(String hql){ return (List&lt;T&gt;)getHibernateTemplate().find(hql); } @Override public Object execute(HibernateCallback action) { return getHibernateTemplate().execute(action); } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; findByNamedParam(String queryString, String paramName,Object value) { return getHibernateTemplate().findByNamedParam(queryString, paramName, value); } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; findByNamedParam(String queryString, String[] paramNames,Object[] values) { return getHibernateTemplate().findByNamedParam(queryString, paramNames, values); } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; getByExampleList(T entity) { return getHibernateTemplate().findByExample(entity); } @Override public T getByExampleUnique(T entity) { return null; } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; listAll() { return getHibernateTemplate().loadAll(clazz); } @SuppressWarnings("unchecked") @Override public List&lt;T&gt; loadAll() { return getHibernateTemplate().loadAll(clazz); } @SuppressWarnings("unchecked") @Override public T save(T entity) { return (T)getHibernateTemplate().save(entity); } @Override public void saveOrUpdate(T entity) { getHibernateTemplate().saveOrUpdate(entity); } @Override public void update(T entity) { getHibernateTemplate().update(entity); } } import java.io.Serializable; import java.util.Collection; import java.util.List; import org.springframework.orm.hibernate3.HibernateCallback; public interface RootDAO&lt;T&gt; { public List&lt;T&gt; loadAll(); public T save(T entity); public void delete(T entity); public T get(Serializable id); public T load(Serializable id); public void saveOrUpdate(T entity); public void deleteAll(Collection&lt;T&gt; entities); public void saveOrUpdateAll(Collection&lt;T&gt; entities); public List&lt;T&gt; find(String hql); public void update(T entity); public T getByExampleUnique(T entity); public List&lt;T&gt; getByExampleList(T entity); public List&lt;T&gt; listAll(); public Object execute(HibernateCallback action); public List&lt;T&gt; findByNamedParam(String queryString, String paramName,Object value); public List&lt;T&gt; findByNamedParam(String queryString, String[] paramNames,Object[] values); } public interface ComboValueDAO extends RootDAO&lt;ComboValue&gt;{ } public class ComboValueDAOImpl extends RootDAOImpl&lt;ComboValue&gt; implements ComboValueDAO { public ComboValueDAOImpl() { super(ComboValue.class); } } </code></pre> <p>In your code, getHibernateTemplate() and do whatever you require.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload