com.googlecode.genericdao.dao.jpa
Interface GenericDAO<T,ID extends Serializable>

Type Parameters:
T - The type of the domain object for which this instance is to be used.
ID - The type of the id of the domain object for which this instance is to be used.
All Known Implementing Classes:
GenericDAOImpl

public interface GenericDAO<T,ID extends Serializable>

Interface for a Data Access Object that can be used for a single specified type domain object. A single instance implementing this interface can be used only for the type of domain object specified in the type parameters.

Author:
dwolverton

Method Summary
 int count(ISearch search)
          Returns the total number of results that would be returned using the given ISearch if there were no paging or maxResults limits.
 T[] find(ID... ids)
          Get all entities of the specified type from the datastore that have one of these ids.
 T find(ID id)
           Get the entity with the specified type and id from the datastore.
 List<T> findAll()
          Get a list of all the objects of the specified type.
 void flush()
          Flushes changes in the Hibernate session to the datastore.
 Filter getFilterFromExample(T example)
          Generates a search filter from the given example using default options.
 Filter getFilterFromExample(T example, ExampleOptions options)
          Generates a search filter from the given example using the specified options.
 T getReference(ID id)
           Get a reference to the entity with the specified type and id from the datastore.
 T[] getReferences(ID... ids)
           Get a reference to the entities of the specified type with the given ids from the datastore.
 boolean isAttached(T entity)
          Returns true if the object is connected to the current Hibernate session.
 T[] merge(T... entities)
           Copy the state of the given objects onto the persistent objects with the same identifier.
 T merge(T entity)
           Copy the state of the given object onto the persistent object with the same identifier.
 void persist(T... entities)
           Make a transient instance persistent and add it to the datastore.
 void refresh(T... entities)
          Refresh the content of the given entity from the current datastore state.
 void remove(T... entities)
          Remove all of the specified entities from the datastore.
 boolean remove(T entity)
          Remove the specified entity from the datastore.
 boolean removeById(ID id)
          Remove the entity with the specified type and id from the datastore.
 void removeByIds(ID... ids)
          Remove all the entities of the given type from the datastore that have one of these ids.
 T[] save(T... entities)
           For each entity: If an entity with the same ID already exists in the database, merge the changes into that entity.
 T save(T entity)
          If an entity with the same ID already exists in the database, merge the changes into that entity.
<RT> List<RT>
search(ISearch search)
          Search for entities given the search parameters in the specified ISearch object.
<RT> SearchResult<RT>
searchAndCount(ISearch search)
          Returns a SearchResult object that includes both the list of results like search() and the total length like count().
<RT> RT
searchUnique(ISearch search)
          Search for a single entity using the given parameters.
 

Method Detail

find

T find(ID id)

Get the entity with the specified type and id from the datastore.

If none is found, return null.


find

T[] find(ID... ids)
Get all entities of the specified type from the datastore that have one of these ids.


getReference

T getReference(ID id)

Get a reference to the entity with the specified type and id from the datastore.

This does not require a call to the datastore and does not populate any of the entity's values. Values may be fetched lazily at a later time. This increases performance if a another entity is being saved that should reference this entity but the values of this entity are not needed.

Throws:
a - HibernateException if no matching entity is found

getReferences

T[] getReferences(ID... ids)

Get a reference to the entities of the specified type with the given ids from the datastore.

This does not require a call to the datastore and does not populate any of the entities' values. Values may be fetched lazily at a later time. This increases performance if a another entity is being saved that should reference these entities but the values of these entities are not needed.

Throws:
a - HibernateException if any of the matching entities are not found.

persist

void persist(T... entities)

Make a transient instance persistent and add it to the datastore. This operation cascades to associated instances if the association is mapped with cascade="persist". Throws an error if the entity already exists.

Does not guarantee that the object will be assigned an identifier immediately. With persist a datastore-generated id may not be pulled until flush time.


merge

T merge(T entity)

Copy the state of the given object onto the persistent object with the same identifier. If there is no persistent instance currently associated with the session, it will be loaded. Return the persistent instance. If the given instance is unsaved, save a copy and return it as a newly persistent instance.

The instance that is passed in does not become associated with the session. This operation cascades to associated instances if the association is mapped with cascade="merge".


merge

T[] merge(T... entities)

Copy the state of the given objects onto the persistent objects with the same identifier. If there is no persistent instance currently associated with the session, it will be loaded. Return the persistent instances. If a given instance is unsaved, save a copy and return it as a newly persistent instance.

The instances that are passed in do not become associated with the session. This operation cascades to associated instances if the association is mapped with cascade="merge".


save

T save(T entity)
If an entity with the same ID already exists in the database, merge the changes into that entity. If not persist the given entity. In either case, a managed entity with the changed values is returned. It may or may not be the same object as was passed in.


save

T[] save(T... entities)

For each entity: If an entity with the same ID already exists in the database, merge the changes into that entity. If not persist the given entity. In either case, a managed entity with the changed values is returned. It may or may not be the same object as was passed in.

Returns:
an array containing each managed entity corresponding to the entities passed in.

remove

boolean remove(T entity)
Remove the specified entity from the datastore.

Returns:
true if the entity is found in the datastore and removed, false if it is not found.

remove

void remove(T... entities)
Remove all of the specified entities from the datastore.


removeById

boolean removeById(ID id)
Remove the entity with the specified type and id from the datastore.

Returns:
true if the entity is found in the datastore and removed, false if it is not found.

removeByIds

void removeByIds(ID... ids)
Remove all the entities of the given type from the datastore that have one of these ids.


findAll

List<T> findAll()
Get a list of all the objects of the specified type.


search

<RT> List<RT> search(ISearch search)
Search for entities given the search parameters in the specified ISearch object.

Parameters:
RT - The result type is automatically determined by the context in which the method is called.

searchUnique

<RT> RT searchUnique(ISearch search)
Search for a single entity using the given parameters.

Parameters:
RT - The result type is automatically determined by the context in which the method is called.

count

int count(ISearch search)
Returns the total number of results that would be returned using the given ISearch if there were no paging or maxResults limits.


searchAndCount

<RT> SearchResult<RT> searchAndCount(ISearch search)
Returns a SearchResult object that includes both the list of results like search() and the total length like count().

Parameters:
RT - The result type is automatically determined by the context in which the method is called.

isAttached

boolean isAttached(T entity)
Returns true if the object is connected to the current Hibernate session.


refresh

void refresh(T... entities)
Refresh the content of the given entity from the current datastore state.


flush

void flush()
Flushes changes in the Hibernate session to the datastore.


getFilterFromExample

Filter getFilterFromExample(T example)
Generates a search filter from the given example using default options.


getFilterFromExample

Filter getFilterFromExample(T example,
                            ExampleOptions options)
Generates a search filter from the given example using the specified options.



Copyright © 2008-2011. All Rights Reserved.