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

java.lang.Object
  extended by org.squashtest.csp.tm.internal.repository.hibernate.HibernateDao<ENTITY_TYPE>
Direct Known Subclasses:
HibernateEntityDao, HibernateLibraryDao, HibernateReportQueryDao, HibernateTestStepDao

public abstract class HibernateDao<ENTITY_TYPE>
extends Object

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
protected  org.hibernate.Session currentSession()
           
protected
<R> R
executeEntityNamedQuery(String queryName, SetQueryParametersCallback setParams)
          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, CollectionFilter filter)
          Executes a named query with parameters.
protected
<R> List<R>
executeListNamedQuery(String queryName, SetQueryParametersCallback setParams)
          Executes a named query with parameters.
protected  ENTITY_TYPE getEntity(long objectId)
           
protected  void persistEntity(Object entity)
           
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()

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
                                                  CollectionFilter 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:

executeEntityNamedQuery

protected final <R> R executeEntityNamedQuery(String queryName,
                                              SetQueryParametersCallback setParams)
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:

removeEntity

protected final void removeEntity(ENTITY_TYPE entity)


Copyright © 2010-2012 Squashtest TM, Squashtest.org. All Rights Reserved.