ru.sstu.dao
Class AbstractDao<T extends Serializable>

java.lang.Object
  extended by ru.sstu.dao.AbstractDao<T>
Type Parameters:
T - concrete entity class
All Implemented Interfaces:
Dao<T>, ReadOnlyDao<T>

public abstract class AbstractDao<T extends Serializable>
extends Object
implements Dao<T>

AbstractDao class contains generic methods for data access.

Since:
DAO 1.0
Author:
Denis_Murashev

Constructor Summary
protected AbstractDao()
          Initializes DAO properties.
 
Method Summary
protected  Number aggregate(org.hibernate.criterion.DetachedCriteria criteria)
          Provides result of aggregate function in query.
protected  void delete(org.hibernate.criterion.DetachedCriteria criteria)
          Deletes entities by criteria.
 void delete(List<T> entities)
          delete method removes existing entities.
protected  void delete(Object entity)
          Deletes entity which is not of type T.
 void delete(T entity)
          Removes entity.
 List<T> find()
          Returns all entities from data source.
 T findById(Serializable id)
          Returns entity with given id.
protected  org.hibernate.criterion.DetachedCriteria getCriteria()
          Provides search criteria which can be used for searches with criteria.
protected abstract  org.springframework.orm.hibernate3.HibernateTemplate getTemplate()
          Provides actual HibernateTemplate object.
protected  List<T> hql(String query)
          Executes HQL query.
protected  List<T> hql(String query, Object... values)
          Executes HQL query.
protected  List<T> hql(String query, Object value)
          Executes HQL query.
protected  List<T> list(org.hibernate.criterion.DetachedCriteria criteria)
          Provides list of entities.
 void save(List<T> entities)
          save method saves list of entities.
protected  void save(Object entity)
          Saves entity which is not of type T.
 void save(T entity)
          Saves entity.
protected  T unique(org.hibernate.criterion.DetachedCriteria criteria)
          Provides unique entity with given criteria.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractDao

protected AbstractDao()
Initializes DAO properties.

Method Detail

find

public List<T> find()
Returns all entities from data source.

Specified by:
find in interface ReadOnlyDao<T extends Serializable>
Returns:
all entities from data source.

findById

public T findById(Serializable id)
Returns entity with given id.

Specified by:
findById in interface ReadOnlyDao<T extends Serializable>
Parameters:
id - entity's id
Returns:
entity

save

public void save(T entity)
Saves entity.

Specified by:
save in interface Dao<T extends Serializable>
Parameters:
entity - entity

save

public void save(List<T> entities)
save method saves list of entities.

Specified by:
save in interface Dao<T extends Serializable>
Parameters:
entities - entities for saving

delete

public void delete(T entity)
Removes entity.

Specified by:
delete in interface Dao<T extends Serializable>
Parameters:
entity - entity

delete

public void delete(List<T> entities)
delete method removes existing entities.

Specified by:
delete in interface Dao<T extends Serializable>
Parameters:
entities - entities to be deleted

getCriteria

protected org.hibernate.criterion.DetachedCriteria getCriteria()
Provides search criteria which can be used for searches with criteria.

Returns:
detached criteria

unique

protected T unique(org.hibernate.criterion.DetachedCriteria criteria)
Provides unique entity with given criteria.

Parameters:
criteria - criteria
Returns:
unique entity

list

protected List<T> list(org.hibernate.criterion.DetachedCriteria criteria)
Provides list of entities.

Parameters:
criteria - search criteria
Returns:
list of entities

aggregate

protected Number aggregate(org.hibernate.criterion.DetachedCriteria criteria)
Provides result of aggregate function in query.

Parameters:
criteria - criteria
Returns:
numeric result

hql

protected List<T> hql(String query)
Executes HQL query.

Parameters:
query - query
Returns:
list of found entities

hql

protected List<T> hql(String query,
                      Object value)
Executes HQL query.

Parameters:
query - query
value - value
Returns:
list of found entities

hql

protected List<T> hql(String query,
                      Object... values)
Executes HQL query.

Parameters:
query - query
values - values
Returns:
list of found entities

save

protected void save(Object entity)
Saves entity which is not of type T.

Parameters:
entity - entity to be saved

delete

protected void delete(Object entity)
Deletes entity which is not of type T.

Parameters:
entity - entity to be deleted

delete

protected void delete(org.hibernate.criterion.DetachedCriteria criteria)
Deletes entities by criteria.

Parameters:
criteria - criteria for entities to be deleted

getTemplate

protected abstract org.springframework.orm.hibernate3.HibernateTemplate getTemplate()
Provides actual HibernateTemplate object.

Returns:
HibernateTemplate object


Copyright © 2011 TFI branch of Engels Instutute of Technology. All Rights Reserved.