com.googlecode.jbp.jpa
Class GenericJpaRepository

java.lang.Object
  extended by com.googlecode.jbp.jpa.GenericJpaRepository
All Implemented Interfaces:
IGenericRepository

public class GenericJpaRepository
extends Object
implements IGenericRepository

Generic Hibernate repository class. Not specific to a given entity class. Intended to be used for usual CRUD operations.

Author:
Yannick LOTH - yannick AT littlej.biz -

Constructor Summary
GenericJpaRepository(javax.persistence.EntityManager entityManagerParam)
          Constructor.
 
Method Summary
protected  javax.persistence.TypedQuery addPagingToQuery(javax.persistence.TypedQuery queryParam, Page pageParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
DomainModel
create(DomainModel entity)
           
protected
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
javax.persistence.criteria.CriteriaQuery<DomainModel>
createCriteria(Class<DomainModel> persistentClassParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
delete(Collection<DomainModel> entities)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
delete(DomainModel entity)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
delete(ID id, Class<DomainModel> persistentClassParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
deleteAll(Class<DomainModel> persistentClassParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
boolean
exists(DomainModel entity)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
boolean
exists(ID id, Class<DomainModel> persistentClassParam)
           
 void flush()
           
protected  javax.persistence.EntityManager getEntityManager()
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
List<DomainModel>
retrieveAll(Class<DomainModel> persistentClassParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
List<DomainModel>
retrieveAll(Class<DomainModel> persistentClassParam, Page pageParam)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
DomainModel
retrieveById(Class<DomainModel> persistentClassParam, ID id)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
update(Collection<DomainModel> entities)
           
<ID extends Serializable,DomainModel extends IIdentifiable<ID>>
void
update(DomainModel entity)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericJpaRepository

public GenericJpaRepository(javax.persistence.EntityManager entityManagerParam)
Constructor.

Parameters:
entityManagerParam - Must not be null.
Method Detail

getEntityManager

protected final javax.persistence.EntityManager getEntityManager()

create

public final <ID extends Serializable,DomainModel extends IIdentifiable<ID>> DomainModel create(DomainModel entity)
Specified by:
create in interface IGenericRepository

createCriteria

protected final <ID extends Serializable,DomainModel extends IIdentifiable<ID>> javax.persistence.criteria.CriteriaQuery<DomainModel> createCriteria(Class<DomainModel> persistentClassParam)

delete

public final <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void delete(Collection<DomainModel> entities)
Specified by:
delete in interface IGenericRepository

delete

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void delete(DomainModel entity)
Specified by:
delete in interface IGenericRepository

delete

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void delete(ID id,
                                                                                   Class<DomainModel> persistentClassParam)
Specified by:
delete in interface IGenericRepository

deleteAll

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void deleteAll(Class<DomainModel> persistentClassParam)
Specified by:
deleteAll in interface IGenericRepository

exists

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> boolean exists(DomainModel entity)
Specified by:
exists in interface IGenericRepository

exists

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> boolean exists(ID id,
                                                                                      Class<DomainModel> persistentClassParam)
Specified by:
exists in interface IGenericRepository

flush

public final void flush()
Specified by:
flush in interface IGenericRepository

retrieveAll

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> List<DomainModel> retrieveAll(Class<DomainModel> persistentClassParam)
Specified by:
retrieveAll in interface IGenericRepository

retrieveAll

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> List<DomainModel> retrieveAll(Class<DomainModel> persistentClassParam,
                                                                                                     Page pageParam)
Specified by:
retrieveAll in interface IGenericRepository

addPagingToQuery

protected final javax.persistence.TypedQuery addPagingToQuery(javax.persistence.TypedQuery queryParam,
                                                              Page pageParam)

retrieveById

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> DomainModel retrieveById(Class<DomainModel> persistentClassParam,
                                                                                                ID id)
Specified by:
retrieveById in interface IGenericRepository

update

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void update(Collection<DomainModel> entities)
Specified by:
update in interface IGenericRepository

update

public <ID extends Serializable,DomainModel extends IIdentifiable<ID>> void update(DomainModel entity)
Specified by:
update in interface IGenericRepository


Copyright © 2011. All Rights Reserved.