Class TopiaDAOImpl<E extends TopiaEntity>

java.lang.Object
org.nuiton.topia.persistence.TopiaDAOImpl<E>
Type Parameters:
E - le type de l'entite
All Implemented Interfaces:
Iterable<E>, TopiaDAO<E>, TopiaDAODeprecated<E>
Direct Known Subclasses:
TopiaDAOLegacy

public class TopiaDAOImpl<E extends TopiaEntity> extends Object implements TopiaDAO<E>
Cette classe permet d'avoir un ensemble de méthode implantée de façon standard et plus spécifiquement pour Hibernate. Certains accès à Hibernate sont tout de même fait ici, car on a pris le choix de se baser entièrement sur hibernate pour la persistence, et il est ainsi possible d'accèder au meta information hibernate sur les classes lorque l'on en a besoin.
Version:
$Id$
Author:
bpoussin <poussin@codelutin.com>
  • Field Details

    • entityClass

      protected Class<E extends TopiaEntity> entityClass
      Type of entity managed by this dao.
      Since:
      ever
    • context

      protected TopiaContextImplementor context
      Underlying context used by this dao to do actions on db.
      Since:
      ever
  • Constructor Details

    • TopiaDAOImpl

      public TopiaDAOImpl()
  • Method Details

    • getTopiaEntityEnum

      public TopiaEntityEnum getTopiaEntityEnum()
      Description copied from interface: TopiaDAO
      Get the entityEnum of the type of entity managed by this DAO.
      Specified by:
      getTopiaEntityEnum in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      entity type enum managed by this DAO
    • getEntityClass

      public Class<E> getEntityClass()
      Description copied from interface: TopiaDAO
      Get the type of entity managed by this DAO.
      Specified by:
      getEntityClass in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      entity type managed by this DAO
    • getBatchSize

      public int getBatchSize()
      Description copied from interface: TopiaDAO
      Obtains the batch size used to load data. Default value if 1000.
      Specified by:
      getBatchSize in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      the batch size.
    • setBatchSize

      public void setBatchSize(int batchSize)
      Description copied from interface: TopiaDAO
      Set a new default batch size.
      Specified by:
      setBatchSize in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      batchSize - new batch size to use when iterating.
    • iterator

      public Iterator<E> iterator()
      Specified by:
      iterator in interface Iterable<E extends TopiaEntity>
    • getId

      protected Serializable getId(E e) throws TopiaException
      Retourne l'id de l'entity
      Parameters:
      e - l'entity
      Returns:
      l'id de l'entity ou null si pas trouvé
      Throws:
      TopiaException - Si une erreur survient durant la recherche
    • getId

      protected Serializable getId(Map map) throws TopiaException
      Retourne l'id de l'entity representer comme une map
      Parameters:
      map - l'entity en representation map
      Returns:
      l'id de l'entity ou null si pas trouvé
      Throws:
      TopiaException - Si une erreur survient durant la recherche
    • init

      public void init(TopiaContextImplementor context, Class<E> entityClass) throws TopiaException
      When TopiaContextImpl create the TopiaDAOHibernate, it must call this method just after.
      Specified by:
      init in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      entityClass -
      context - context
      Throws:
      TopiaException - if any pb while init
    • getContext

      public TopiaContextImplementor getContext()
      Description copied from interface: TopiaDAO
      Return context used by this DAO.
      Specified by:
      getContext in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      the context.
    • createSimpleQuery

      public String createSimpleQuery(String alias)
      Description copied from interface: TopiaDAO
      Create the simple hql query for the entity managed by the dao. A optional alias can be passed:
      FROM MyEntityImpl myAlias
      Specified by:
      createSimpleQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      alias - optional alias to use in query
      Returns:
      the hql query
    • newInstance

      public E newInstance() throws TopiaException
      Description copied from interface: TopiaDAO
      Create a new instance of managed entity not persisted.
      Specified by:
      newInstance in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      new entity instance
      Throws:
      TopiaException - if any pb while creating the entity
    • findUsages

      public <U extends TopiaEntity> List<U> findUsages(Class<U> type, E e) throws TopiaException
      Description copied from interface: TopiaDAO
      Find usages of the given entity in the entities of the given type.
      Specified by:
      findUsages in interface TopiaDAO<E extends TopiaEntity>
      Type Parameters:
      U - type of entity to search
      Parameters:
      type - the type of entity to search
      e - the entity on which search is done
      Returns:
      the list of entities of the given type which uses the given entity
      Throws:
      TopiaException - if any problem while getting data
    • findAllUsages

      public Map<Class<? extends TopiaEntity>,List<? extends TopiaEntity>> findAllUsages(E e) throws TopiaException
      Description copied from interface: TopiaDAO
      Find all usages of the given entity.
      Specified by:
      findAllUsages in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      e - the entity
      Returns:
      the dictionnary of usages of the given entities (keys are entity usage container, values are the list of this type of entity to use the given entity).
      Throws:
      TopiaException - if any pb while getting data
    • getRequestPermission

      public List<Permission> getRequestPermission(String topiaId, int actions) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas.
      Specified by:
      getRequestPermission in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      topiaId - topiaId d'une entite
      actions - encoded actions
      Returns:
      la liste des permissions
      Throws:
      TopiaException - if any pb while getting datas
    • addTopiaEntityListener

      public void addTopiaEntityListener(TopiaEntityListener listener)
      Specified by:
      addTopiaEntityListener in interface TopiaDAO<E extends TopiaEntity>
    • addTopiaEntityVetoable

      public void addTopiaEntityVetoable(TopiaEntityVetoable vetoable)
      Specified by:
      addTopiaEntityVetoable in interface TopiaDAO<E extends TopiaEntity>
    • removeTopiaEntityListener

      public void removeTopiaEntityListener(TopiaEntityListener listener)
      Specified by:
      removeTopiaEntityListener in interface TopiaDAO<E extends TopiaEntity>
    • removeTopiaEntityVetoable

      public void removeTopiaEntityVetoable(TopiaEntityVetoable vetoable)
      Specified by:
      removeTopiaEntityVetoable in interface TopiaDAO<E extends TopiaEntity>
    • create

      public E create(E entity) throws TopiaException
      Description copied from interface: TopiaDAO
      Permet de sauver un object instancié sans le DAO. Utilisé notement dans le cas ou le DAO est situé derriere une couche de webservice et que l'appel à la methode TopiaDAO.create(Object...) serait trop couteux.
      Specified by:
      create in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      entity - l'entité instanciée à sauver
      Returns:
      l'entité avec son topiaID valorisé
      Throws:
      TopiaException - if any pb while creating datas
    • create

      public E create(Object... properties) throws TopiaException
      Description copied from interface: TopiaDAO
      Construit une nouvelle instance de l'objet géré par ce DAO
      Specified by:
      create in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      properties - la liste des propriétés que doit avoir l'objet créé les arguments vont par paire (propertyName, value)
      Returns:
      un nouvel objet
      Throws:
      TopiaException - si un problème est rencontré durant l'instanciation
    • create

      public E create(Map<String,Object> properties) throws TopiaException
      Cette methode appelle fireVetoableCreate et fireOnCreated Si vous la surchargé, faites attention a appeler le super ou a appeler vous aussi ces deux methodes.
      Specified by:
      create in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      properties - la liste des propriétés que doit avoir l'objet créé
      Returns:
      un nouvel objet
      Throws:
      TopiaException - si un problème est rencontré durant l'instanciation
    • update

      public E update(E e) throws TopiaException
      Description copied from interface: TopiaDAO
      Permet d'ajouter ou de mettre a jour un objet. Cela permet d'ajouter par exemple un objet provenant d'un autre context mais du meme type de DAO.
      Specified by:
      update in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      e - l'entite a ajouter ou mettre a jour
      Returns:
      l'entity passé en paramètre.
      Throws:
      TopiaException - if any pb while updating datas
    • delete

      public void delete(E e) throws TopiaException
      Description copied from interface: TopiaDAO
      Permet de supprimer une entite.
      Specified by:
      delete in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      e - l'entite a supprimer
      Throws:
      TopiaException - if any pb while deleting datas
    • deleteAll

      public void deleteAll(Iterable<E> entities) throws TopiaException
      Description copied from interface: TopiaDAO
      Permet de supprimer des entités.
      Specified by:
      deleteAll in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      entities - les entités à supprimer
      Throws:
      TopiaException - if any pb while deleting datas
    • createQuery

      public TopiaQuery createQuery()
      Description copied from interface: TopiaDAODeprecated
      Crée une requete basé sur l'entité lié au DAO. Résultat attendu : "FROM E"
      Specified by:
      createQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Returns:
      une nouvelle TopiaQuery vide. (uniquement avec le From sur le type d'entité)
    • createQuery

      public TopiaQuery createQuery(String entityAlias)
      Description copied from interface: TopiaDAODeprecated
      Crée une requête basé sur l'entité lié au DAO et lui assigne un alias valable dans la requête.. Résultat attendu : "FROM E AS entityAlias"
      Specified by:
      createQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      entityAlias - alias permettant de manipuler l'entité dans la requête
      Returns:
      une nouvelle TopiaQuery
    • findByTopiaId

      public E findByTopiaId(String id) throws TopiaException
      Description copied from interface: TopiaDAO
      Find an entity corresponding to the id. If the id is null, nothing will be searched.
      Specified by:
      findByTopiaId in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      id - topiaId of the entity to found
      Returns:
      the entity found or null if not
      Throws:
      TopiaException - for Topia errors on query
    • findByProperty

      public E findByProperty(String propertyName, Object value) throws TopiaException
      Description copied from interface: TopiaDAO
      Find an entity matching value for the given propertyName.
      Specified by:
      findByProperty in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - property name to filter
      value - value of the property to math
      Returns:
      the first entity matching the request
      Throws:
      TopiaException
    • findByProperties

      public E findByProperties(String propertyName, Object value, Object... others) throws TopiaException
      Specified by:
      findByProperties in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - le nom de la propriété
      value - la valeur à tester
      others - les autres proprietes doivent aller par 2 propertyName, value
      Returns:
      l'entité trouvé
      Throws:
      TopiaException - if any pb while getting datas
    • findByProperties

      public E findByProperties(Map<String,Object> properties) throws TopiaException
      Description copied from interface: TopiaDAO
      Find an entity matching properties.
      Specified by:
      findByProperties in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      properties - les propriétés à matcher
      Returns:
      l'entité trouvé
      Throws:
      TopiaException - if any pb while getting datas
    • findByQuery

      public E findByQuery(TopiaQuery query) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Execute une requête basé sur l'entité du DAO. Permet de récupérer une entité correspondant à la requête.
      Specified by:
      findByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      query - la requête
      Returns:
      l'entité correspondant à la recherche ou null si aucune entité n'a été trouvée
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • findAll

      public List<E> findAll() throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entitys of the dao type in db.
      Specified by:
      findAll in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      all entities of the dao type in db
      Throws:
      TopiaException
    • findAllIds

      public List<String> findAllIds() throws TopiaException
      Description copied from interface: TopiaDAO
      Recuperation de tous les ids en base pour le type d'entite du dao.
      Specified by:
      findAllIds in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      la liste de tous les ids
      Throws:
      TopiaException - si pb en base
    • findAllByProperty

      public List<E> findAllByProperty(String propertyName, Object value) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities of the dao type matching the value for the given propertyName.
      Specified by:
      findAllByProperty in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - property name to filter
      value - value to match
      Returns:
      matching entities
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByProperties

      public List<E> findAllByProperties(String propertyName, Object value, Object... others) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities of the dao type matching the value for the given propertyName and others.
      Specified by:
      findAllByProperties in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - le nom de la propriété
      value - la valeur à tester
      others - les autres proprietes doivent aller par 2 propertyName, value
      Returns:
      matching entities
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByProperties

      public List<E> findAllByProperties(Map<String,Object> properties) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities of the dao type matching all the properties.
      Specified by:
      findAllByProperties in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      properties - properties to match
      Returns:
      matching entities
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQuery

      public List<E> findAllByQuery(TopiaQuery query) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Execute une requête basé sur l'entité du DAO. Permet de récupérer une liste d'entités correspondant à la requête.
      Specified by:
      findAllByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      query - la requête
      Returns:
      la liste d'entités correspondant à la recherche
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • findAllMappedByQuery

      public Map<String,E> findAllMappedByQuery(TopiaQuery query) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Execute une requête basé sur l'entité du DAO. Permet de récupérer une map d'entités correspondant à la requête. La clé de la map étant le topiaId de l'entité.
      Specified by:
      findAllMappedByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      query - la requête
      Returns:
      la map d'entités correspondant à la recherche
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • findAllMappedByQuery

      public <K> Map<K,E> findAllMappedByQuery(TopiaQuery query, String keyName, Class<K> keyClass) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Execute une requête basé sur l'entité du DAO. Permet de récupérer une map d'entités correspondant à la requête. Le type et le nom de la propriété utilisé comme clé de la map doit être passé en argument.
      Specified by:
      findAllMappedByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Type Parameters:
      K - type de la clé de la map
      Parameters:
      query - la requête
      keyName - nom de la propriété de l'entité utilisée comme clé
      keyClass - type de la propriété de l'entité utilisée comme clé
      Returns:
      la map d'entités correspondant à la recherche
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • findAllWithOrder

      public List<E> findAllWithOrder(String... propertyNames) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entites for the dao entity type order by given propertyNames. You can add on each property ASC ou DESC to fix order way (by default is ASC).
      Specified by:
      findAllWithOrder in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyNames - property names of order to apply
      Returns:
      all entities of the dao entity type with given order
      Throws:
      TopiaException - if any pb while getting datas
    • findContains

      public E findContains(String propertyName, Object property) throws TopiaException
      Description copied from interface: TopiaDAO
      Récupère la première entité (du type géré par ce dao) dont la collection nommée propertyName contient la property donnée.
      Specified by:
      findContains in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - le nom de la propriété
      property - la propriété recherchée
      Returns:
      la première entité recherchée
      Throws:
      TopiaException - pour tout erreur lors de la recherche
    • findAllContains

      public List<E> findAllContains(String propertyName, Object property) throws TopiaException
      Description copied from interface: TopiaDAO
      Récupère toutes les entités (du type géré par ce dao) dont la collection nommée propertyName contient la property donnée.
      Specified by:
      findAllContains in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - le nom de la propriété
      property - la propriété recherchée
      Returns:
      toutes les entités recherchées
      Throws:
      TopiaException - pour tout erreur lors de la recherche
    • existByTopiaId

      public boolean existByTopiaId(String id) throws TopiaException
      Description copied from interface: TopiaDAO
      Check the existence of an entity with technical id.
      Specified by:
      existByTopiaId in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      id - unique id of the entity to test existence.
      Returns:
      true if entity exists, false otherwise
      Throws:
      TopiaException - for Topia errors
    • existByProperties

      public boolean existByProperties(String propertyName, Object propertyValue, Object... others) throws TopiaException
      Description copied from interface: TopiaDAO
      Check the existence of an entity with propertyName with propertyValue. others properties can be added to test existence.
      Specified by:
      existByProperties in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      propertyName - first property name to test existence
      propertyValue - first property value to test existence
      others - altern propertyName and propertyValue
      Returns:
      true if entity exists, false otherwise
      Throws:
      TopiaException - for Topia errors
    • existByQuery

      public boolean existByQuery(TopiaQuery query) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Check the existence of an entity using a query.
      Specified by:
      existByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      query - query used to test existence
      Returns:
      true if entity exists, false otherwise
      Throws:
      TopiaException
    • count

      public long count() throws TopiaException
      Description copied from interface: TopiaDAO
      Count the number of existing entities.
      Specified by:
      count in interface TopiaDAO<E extends TopiaEntity>
      Returns:
      number of total entities
      Throws:
      TopiaException - if any pb while getting datas
    • countByQuery

      public int countByQuery(TopiaQuery query) throws TopiaException
      Description copied from interface: TopiaDAODeprecated
      Count the number of entities based on query.
      Specified by:
      countByQuery in interface TopiaDAODeprecated<E extends TopiaEntity>
      Parameters:
      query - query
      Returns:
      number of entities filtered by the query
      Throws:
      TopiaException - if any pb while getting datas
    • findByPrimaryKey

      public E findByPrimaryKey(Map<String,Object> keys) throws TopiaException
      Description copied from interface: TopiaDAO
      Recherche la classe en utilisant la cle naturelle, chaque champs de la cle naturelle est une entre de la map passe en argument.
      Specified by:
      findByPrimaryKey in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      keys - la liste des champs de la cle naturelle avec leur valeur
      Returns:
      l'entite trouvé
      Throws:
      TopiaException - if any pb while getting datas
    • findByPrimaryKey

      public E findByPrimaryKey(Object... k) throws TopiaException
      Description copied from interface: TopiaDAO
      Recherche la classe en utilisant la cle naturelle, si la cle naturelle est composé de plusieurs champs alors les arguments passés doivent être dans l'ordre de declaration dans le fichier de mapping
      Specified by:
      findByPrimaryKey in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      k - l'objet cle naturelle de la classe
      Returns:
      l'entité trouvé
      Throws:
      TopiaException - if any pb while getting datas
    • existsByQuery

      public boolean existsByQuery(String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Check the existence of an entity using a hql query.
      Specified by:
      existsByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - query used to test existence
      params - params used by the query
      Returns:
      true if entity exists, false otherwise
      Throws:
      TopiaException
    • countByQuery

      public long countByQuery(String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Count the number of entities based on a hql.
      Specified by:
      countByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - hql query to use
      Returns:
      number of entities filtered by the query
      Throws:
      TopiaException - if any pb while getting datas
    • findByQuery

      public E findByQuery(String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Execute une requête basé sur l'entité du DAO. Permet de récupérer une entité correspondant à la requête.
      Specified by:
      findByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - la requête hql à executer
      params - les paramètres de la requète
      Returns:
      l'entité correspondant à la recherche ou null si aucune entité n'a été trouvée
      Throws:
      TopiaException - if any pb while getting datas
    • findByQuery

      public <R> R findByQuery(Class<R> type, String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Execute une requête basé sur le type donné. Permet de récupérer une entité correspondant à la requête.
      Specified by:
      findByQuery in interface TopiaDAO<E extends TopiaEntity>
      hql - la requête hql à executer
      params - les paramètres de la requète
      Returns:
      l'entité correspondant à la recherche ou null si aucune entité n'a été trouvée
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQuery

      public List<E> findAllByQuery(String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities when executing the given select query for the dao entity type.
      Specified by:
      findAllByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQuery

      public <R> List<R> findAllByQuery(Class<R> type, String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities when executing the given select query for the given type which may not be a entity type (int, long, map,...).
      Specified by:
      findAllByQuery in interface TopiaDAO<E extends TopiaEntity>
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllLazyByQuery

      public Iterable<E> findAllLazyByQuery(String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities in lazy mode when executing the given select query for the dao entity type. Important note:
      Specified by:
      findAllLazyByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllLazyByQuery

      public <R> Iterable<R> findAllLazyByQuery(Class<R> type, String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities in lazy mode when executing the given select query for the given type which may not be a entity type (int, long, map,...). Important note:
      Specified by:
      findAllLazyByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      type - type of data to return
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllLazyByQuery

      public Iterable<E> findAllLazyByQuery(int batchSize, String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities in lazy mode when executing the given select query for the dao entity type. Important note:
      Specified by:
      findAllLazyByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      batchSize - batch size
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllLazyByQuery

      public <R> Iterable<R> findAllLazyByQuery(Class<R> type, int batchSize, String hql, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets all entities in lazy mode when executing the given select query for the given type which may not be a entity type (int, long, map,...). Important note:
      Specified by:
      findAllLazyByQuery in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      type - type of data to return
      batchSize - batch size
      hql - hql query
      params - query params
      Returns:
      entites of the query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQueryWithBound

      public <R> List<R> findAllByQueryWithBound(Class<R> type, String hql, int startIndex, int endIndex, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets a page of entities when executing the given select query for the dao entity type (will only return the window of startIndex - endIndex entities).
      Specified by:
      findAllByQueryWithBound in interface TopiaDAO<E extends TopiaEntity>
      hql - hql query to execute
      startIndex - first index of entity to return
      endIndex - last index of entity to return
      params - query params
      Returns:
      entites of the paginated query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQueryWithBound

      public List<E> findAllByQueryWithBound(String hql, int startIndex, int endIndex, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets a page of entities when executing the given select query for the dao entity type (will only return the window of startIndex - endIndex entities).
      Specified by:
      findAllByQueryWithBound in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - hql query to execute
      startIndex - first index of entity to return
      endIndex - last index of entity to return
      params - query params
      Returns:
      entites of the paginated query result
      Throws:
      TopiaException - if any pb while getting datas
    • findAllByQueryAndPager

      public <R> List<R> findAllByQueryAndPager(Class<R> type, String hql, TopiaPagerBean pager, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets a page of entities of the given select hql query using the pager to obtain the window of entities to return.
      Specified by:
      findAllByQueryAndPager in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      type - type of data to return
      hql - hql query to execute
      pager - pager to obtan the correct window of data
      params - params of the query
      Returns:
      entities of the paginated query result
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • findAllByQueryAndPager

      public List<E> findAllByQueryAndPager(String hql, TopiaPagerBean pager, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Gets a page of entities of the given select hql query using the pager to obtain the window of entities to return.
      Specified by:
      findAllByQueryAndPager in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - hql query to execute
      pager - pager to obtan the correct window of data
      params - params of the query
      Returns:
      entities of the paginated query result
      Throws:
      TopiaException - if any pb while getting datas
      See Also:
    • computeAndAddRecordsToPager

      public void computeAndAddRecordsToPager(String hql, TopiaPagerBean pager, Object... params) throws TopiaException
      Description copied from interface: TopiaDAO
      Execute the count hql query and then synch the pager to this result (says fill the PagerBean.getRecords() field and then adapt the number of pages available and the current number page).
      Specified by:
      computeAndAddRecordsToPager in interface TopiaDAO<E extends TopiaEntity>
      Parameters:
      hql - the count hql to execute
      pager - the page to synch
      params - params of the count query
      Throws:
      TopiaException - if any pb while getting datas
      See Also: