1 /*****************************************************************************
5 * Creation date 08.10.2012
8 *****************************************************************************/
10 package org.splat.dal.dao.kernel;
12 import java.io.Serializable;
14 import org.hibernate.Session;
15 import org.hibernate.SessionFactory;
21 public abstract class GenericDAOImpl<T, PK extends Serializable> implements
23 private SessionFactory _sessionFactory;
25 public PK create(T o) {
26 return (PK) getSession().save(o);
29 public T read(PK id) {
30 return (T) getSession().get(getType(), id);
33 public void update(T o) {
34 getSession().update(o);
37 public void delete(T o) {
38 getSession().delete(o);
41 abstract protected Class<T> getType();
43 * @return hibernate session
45 private Session getSession() {
46 return getSessionFactory().getCurrentSession();
50 * Get the sessionFactory.
51 * @return the sessionFactory
53 public SessionFactory getSessionFactory() {
54 return _sessionFactory;
58 * Set the sessionFactory.
59 * @param sessionFactory the sessionFactory to set
61 public void setSessionFactory(SessionFactory sessionFactory) {
62 _sessionFactory = sessionFactory;