1
2
3
4 package org.flowfuse.base.dao.hibernate;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.flowfuse.base.dao.Dao;
9 import org.springframework.orm.ObjectRetrievalFailureException;
10 import org.springframework.orm.hibernate.support.HibernateDaoSupport;
11
12 import java.io.Serializable;
13 import java.util.List;
14
15 /***
16 * @author <a href="stefan@flowfuse.org">Stefan Kleineikenscheidt</a>,
17 * Flowfuse.org
18 * @version $Id: BaseDaoHibernate.java,v 1.1 2005/11/20 15:02:01 skleinei Exp $
19 */
20 public class BaseDaoHibernate extends HibernateDaoSupport implements Dao {
21
22
23 public final static String rcsid = "$Id: BaseDaoHibernate.java,v 1.1 2005/11/20 15:02:01 skleinei Exp $";
24
25
26 protected final Log logger = LogFactory.getLog(this.getClass());
27
28 /***
29 * @see org.flowfuse.base.dao.Dao#saveObject(java.lang.Object)
30 */
31 public void saveObject(Object o) {
32 getHibernateTemplate().saveOrUpdate(o);
33 }
34
35 /***
36 * @see org.flowfuse.base.dao.Dao#getObject(java.lang.Class,
37 * java.io.Serializable)
38 */
39 public Object getObject(Class clazz, Serializable id) {
40 Object o = getHibernateTemplate().get(clazz, id);
41
42 if (o == null) {
43 throw new ObjectRetrievalFailureException(clazz, id);
44 }
45
46 return o;
47 }
48
49 /***
50 * @see org.flowfuse.base.dao.Dao#getObjects(java.lang.Class)
51 */
52 public List getObjects(Class clazz) {
53 return getHibernateTemplate().loadAll(clazz);
54 }
55
56 /***
57 * @see org.flowfuse.base.dao.Dao#removeObject(java.lang.Class,
58 * java.io.Serializable)
59 */
60 public void removeObject(Class clazz, Serializable id) {
61 getHibernateTemplate().delete(getObject(clazz, id));
62 }
63
64 }
65
66