org.squashtest.tm.service.internal.repository.hibernate
Class HibernateDao<ENTITY_TYPE>

java.lang.Object
  extended by org.squashtest.tm.service.internal.repository.hibernate.HibernateDao<ENTITY_TYPE>
All Implemented Interfaces:
GenericDao<ENTITY_TYPE>
Direct Known Subclasses:
HibernateAdministrationDao, HibernateEntityDao, HibernateObjectDao

public abstract class HibernateDao<ENTITY_TYPE>
extends Object
implements GenericDao<ENTITY_TYPE>

To implement an Hibernate DAO, subclass this class, annotate it with @Repository and work with the Hibernate session provided by currentSession()

Author:
Gregory Fouquet

Field Summary
protected  Class<ENTITY_TYPE> entityType
           
 
Constructor Summary
HibernateDao()
           
 
Method Summary
 void clearFromCache(Collection<ENTITY_TYPE> entities)
           
 void clearFromCache(ENTITY_TYPE entity)
           
protected  org.hibernate.Session currentSession()
           
protected
<R> R
executeEntityNamedQuery(String queryName)
           
protected
<R> R
executeEntityNamedQuery(String queryName, SetQueryParametersCallback setParams)
           
protected
<R> R
executeEntityNamedQuery(String queryName, String paramName, Object paramValue)
          Runs a named query which returns a single entity / tuple / scalar and which accepts a unique parameter.
protected
<R> List<R>
executeListNamedQuery(String queryName)
          Executes a no-args named query which returns a list of entities.
protected
<R> List<R>
executeListNamedQuery(String queryName, Object queryParam, org.squashtest.tm.core.foundation.collection.Paging filter)
          Executes a named query with parameters.
protected
<R> List<R>
executeListNamedQuery(String queryName, SetQueryParametersCallback setParams)
          Executes a named query with parameters.
protected
<R> List<R>
executeListNamedQuery(String queryName, SetQueryParametersCallback setParams, org.squashtest.tm.core.foundation.collection.Paging paging)
          Executes a named query with parameters.
protected  void executeUpdateListQuery(String queryName, SetQueryParametersCallback params)
           
 void flush()
           
protected  ENTITY_TYPE getEntity(long objectId)
           
 void persist(ENTITY_TYPE transientEntity)
           
 void persist(List<ENTITY_TYPE> transientEntities)
           
protected  void persistEntity(Object entity)
           
 void remove(ENTITY_TYPE entity)
           
 void removeAll(List<ENTITY_TYPE> entities)
           
protected  void removeEntity(ENTITY_TYPE entity)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entityType

protected final Class<ENTITY_TYPE> entityType
Constructor Detail

HibernateDao

public HibernateDao()
Method Detail

currentSession

protected final org.hibernate.Session currentSession()

persist

public void persist(List<ENTITY_TYPE> transientEntities)
Specified by:
persist in interface GenericDao<ENTITY_TYPE>

persist

public final void persist(ENTITY_TYPE transientEntity)
Specified by:
persist in interface GenericDao<ENTITY_TYPE>

remove

public final void remove(ENTITY_TYPE entity)
Specified by:
remove in interface GenericDao<ENTITY_TYPE>

flush

public final void flush()
Specified by:
flush in interface GenericDao<ENTITY_TYPE>

clearFromCache

public void clearFromCache(ENTITY_TYPE entity)
Specified by:
clearFromCache in interface GenericDao<ENTITY_TYPE>

clearFromCache

public void clearFromCache(Collection<ENTITY_TYPE> entities)
Specified by:
clearFromCache in interface GenericDao<ENTITY_TYPE>

getEntity

protected final ENTITY_TYPE getEntity(long objectId)

persistEntity

protected final void persistEntity(Object entity)

executeListNamedQuery

protected final <R> List<R> executeListNamedQuery(String queryName)
Executes a no-args named query which returns a list of entities.

Type Parameters:
R -
Parameters:
queryName -
Returns:

executeListNamedQuery

protected final <R> List<R> executeListNamedQuery(String queryName,
                                                  SetQueryParametersCallback setParams)
Executes a named query with parameters. The parameters should be set by the callback object.

Type Parameters:
R -
Parameters:
queryName -
setParams -
Returns:

executeListNamedQuery

protected final <R> List<R> executeListNamedQuery(@NotNull
                                                  String queryName,
                                                  @NotNull
                                                  Object queryParam,
                                                  @NotNull
                                                  org.squashtest.tm.core.foundation.collection.Paging filter)
Executes a named query with parameters. The parameters should be set by the callback object.

Type Parameters:
R -
Parameters:
queryName -
queryParam - unique param of the query
filter - collection filter used to restrict the number of results.
Returns:

executeListNamedQuery

protected final <R> List<R> executeListNamedQuery(String queryName,
                                                  SetQueryParametersCallback setParams,
                                                  org.squashtest.tm.core.foundation.collection.Paging paging)
Executes a named query with parameters. The parameters should be set by the callback object.

Type Parameters:
R -
Parameters:
queryName -
setParams -
Returns:

executeEntityNamedQuery

protected final <R> R executeEntityNamedQuery(String queryName,
                                              String paramName,
                                              Object paramValue)
Runs a named query which returns a single entity / tuple / scalar and which accepts a unique parameter.

Type Parameters:
R -
Parameters:
queryName - name of the query, should not be null
paramName - name of the parameter, should not be null
paramValue - value of the parameter, should not be null
Returns:

executeEntityNamedQuery

protected final <R> R executeEntityNamedQuery(String queryName,
                                              SetQueryParametersCallback setParams)

executeEntityNamedQuery

protected final <R> R executeEntityNamedQuery(String queryName)

executeUpdateListQuery

protected final void executeUpdateListQuery(String queryName,
                                            SetQueryParametersCallback params)

removeEntity

protected final void removeEntity(ENTITY_TYPE entity)

removeAll

public void removeAll(List<ENTITY_TYPE> entities)
Specified by:
removeAll in interface GenericDao<ENTITY_TYPE>


Copyright © 2010-2013 Henix, henix.fr. All Rights Reserved.