/*
 * JPA DAO Template
 *
 *
 * Takatuka - Template fuer JPA DAO
 *
 */

package de.ivu.elect.business.gebietsbaum.boundary;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;

@javax.enterprise.context.ApplicationScoped // ELECT-7845
public class GebietDAO extends AbstractGebietDAO {

  private static final long serialVersionUID = 1L;

  @javax.inject.Inject
  private transient de.ivu.elect.jee.entity.SimpleDAO simpleDAO;

  @Override
  protected javax.persistence.EntityManager getEntityManager() {
    return simpleDAO.getEntityManager();
  }

  public void persist(Gebiet gebiet){
    getEntityManager().persist(gebiet);
  }

  public void remove(Gebiet gebiet){
    getEntityManager().remove(gebiet);
  }

@javax.inject.Inject
private transient de.ivu.elect.presentation.system.DAOCache daoCache;

                                                                                                                                                                                            
        /**
        * Name: UebergeordnetesGebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.uebergeordnetesGebiet = ?1<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByUebergeordnetesGebiet( @javax.annotation.Nonnull de.ivu.elect.business.gebietsbaum.entity.Gebiet uebergeordnetesGebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByUebergeordnetesGebiet" ,  uebergeordnetesGebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByUebergeordnetesGebiet( uebergeordnetesGebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByUebergeordnetesGebiet( uebergeordnetesGebiet  );
            }
                                        
        /**
        * Name: WahlAndDirektwahlgebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT g FROM Gebiet g, Gebietsarteigenschaft e WHERE g.wahl = ?1 AND g.gebietsart = e.gebietsart AND e.direktwahlgebiet = ?2 AND g.wahl.wahlart = e.wahlart ORDER BY g.position<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndDirektwahlgebiet( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull java.lang.Boolean isDirektwahlgebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndDirektwahlgebiet" ,  wahl ,  isDirektwahlgebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndDirektwahlgebiet( wahl ,  isDirektwahlgebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndDirektwahlgebiet( wahl ,  isDirektwahlgebiet  );
            }
                                        
        /**
        * Name: WahlAndGebietsartNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: select o from Gebiet o where o.wahl=?1 and o.gebietsart=?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndGebietsart( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull de.ivu.elect.business.gebietsbaum.entity.Gebietsart gebietsart) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndGebietsart" ,  wahl ,  gebietsart  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndGebietsart( wahl ,  gebietsart  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndGebietsart( wahl ,  gebietsart  );
            }
                                        
        /**
        * Name: WahlAndListengebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT g FROM Gebiet g, Gebietsarteigenschaft e WHERE g.wahl = ?1 AND g.gebietsart = e.gebietsart AND e.listenwahlgebiet = ?2 AND g.wahl.wahlart = e.wahlart ORDER BY g.position<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndListengebiet( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull java.lang.Boolean isListengebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndListengebiet" ,  wahl ,  isListengebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndListengebiet( wahl ,  isListengebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndListengebiet( wahl ,  isListengebiet  );
            }
                                        
        /**
        * Name: WahlAndNameAutoCompleteNoFlush<br>
        * Beschreibung: Wird für das Autocomplete verwendet (in der Schnellsuche).<br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1 AND UPPER(o.name) LIKE UPPER(?2) ORDER BY o.name<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndNameAutoComplete( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull String name) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndNameAutoComplete" ,  wahl ,  name  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndNameAutoComplete( wahl ,  name  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndNameAutoComplete( wahl ,  name  );
            }
                                                                                                        
        /**
        * Name: WahlAndNummerAndGebietsartenAutoCompleteNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1 AND o.nummer LIKE ?2 AND o.gebietsart IN (?3) ORDER BY o.nummer<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndNummerAndGebietsartenAutoComplete( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull java.lang.String nummer,  @javax.annotation.Nonnull java.util.Collection<de.ivu.elect.business.gebietsbaum.entity.Gebietsart> gebietsarten) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndNummerAndGebietsartenAutoComplete" ,  wahl ,  nummer ,  gebietsarten  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndNummerAndGebietsartenAutoComplete( wahl ,  nummer ,  gebietsarten  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndNummerAndGebietsartenAutoComplete( wahl ,  nummer ,  gebietsarten  );
            }
                                        
        /**
        * Name: WahlAndNummerAutoCompleteNoFlush<br>
        * Beschreibung: Wird für das Autocomplete verwendet (in der Schnellsuche).<br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1 AND o.nummer LIKE ?2 ORDER BY o.nummer<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndNummerAutoComplete( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull String nummer) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndNummerAutoComplete" ,  wahl ,  nummer  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndNummerAutoComplete( wahl ,  nummer  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndNummerAutoComplete( wahl ,  nummer  );
            }
                                        
        /**
        * Name: WahlAndNummerNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1 AND o.nummer=?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndNummer( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull String nummer) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndNummer" ,  wahl ,  nummer  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndNummer( wahl ,  nummer  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndNummer( wahl ,  nummer  );
            }
                                        
        /**
        * Name: WahlAndUebergeordnetemGebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT g FROM Gebiet g WHERE g.wahl = ?1 AND g.uebergeordnetesGebiet = ?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndUebergeordnetemGebiet( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull de.ivu.elect.business.gebietsbaum.entity.Gebiet uebergeordnetesGebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndUebergeordnetemGebiet" ,  wahl ,  uebergeordnetesGebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndUebergeordnetemGebiet( wahl ,  uebergeordnetesGebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndUebergeordnetemGebiet( wahl ,  uebergeordnetesGebiet  );
            }
                                        
        /**
        * Name: WahlAndWahlgebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT g FROM Gebiet g, Gebietsarteigenschaft e WHERE g.wahl = ?1 AND g.gebietsart = e.gebietsart AND e.wahlgebiet = ?2 AND g.wahl.wahlart = e.wahlart ORDER BY g.position<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlAndWahlgebiet( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull java.lang.Boolean isWahlgebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlAndWahlgebiet" ,  wahl ,  isWahlgebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlAndWahlgebiet( wahl ,  isWahlgebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlAndWahlgebiet( wahl ,  isWahlgebiet  );
            }
                                                        
        /**
        * Name: WahlMitVerantwortlicherMandantNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl=?1 AND o.verantwortlicherMandant IS NOT NULL<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlMitVerantwortlicherMandant( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlMitVerantwortlicherMandant" ,  wahl  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlMitVerantwortlicherMandant( wahl  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlMitVerantwortlicherMandant( wahl  );
            }
                                        
        /**
        * Name: WahlNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahl( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahl" ,  wahl  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahl( wahl  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahl( wahl  );
            }
                                        
        /**
        * Name: WahlOrderByPositionNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl =?1 ORDER BY o.position<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlOrderByPosition( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlOrderByPosition" ,  wahl  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlOrderByPosition( wahl  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlOrderByPosition( wahl  );
            }
                                        
        /**
        * Name: WahlVerantwortlicherMandantNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahl=?1 AND o.verantwortlicherMandant = ?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlVerantwortlicherMandant( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahl wahl,  @javax.annotation.Nonnull de.ivu.elect.business.mandant.entity.Mandant verantwortlicherMandant) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlVerantwortlicherMandant" ,  wahl ,  verantwortlicherMandant  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlVerantwortlicherMandant( wahl ,  verantwortlicherMandant  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlVerantwortlicherMandant( wahl ,  verantwortlicherMandant  );
            }
                                                                        
        /**
        * Name: WahlterminAndGebietsartNoFlush<br>
        * Beschreibung: Wird zur Bestimmung der Berechtigung auf Gebieten verwendet, siehe MucWos-Security.<br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahltermin =?1 AND o.gebietsart=?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlterminAndGebietsart( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin,  @javax.annotation.Nonnull de.ivu.elect.business.gebietsbaum.entity.Gebietsart gebietsart) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlterminAndGebietsart" ,  wahltermin ,  gebietsart  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlterminAndGebietsart( wahltermin ,  gebietsart  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlterminAndGebietsart( wahltermin ,  gebietsart  );
            }
                                        
        /**
        * Name: WahlterminAndNameAutoCompleteNoFlush<br>
        * Beschreibung: Wird für das Autocomplete im WOS verwendet (in der Schnellsuche).<br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahltermin =?1 AND UPPER(o.name) LIKE UPPER(?2) ORDER BY o.name<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlterminAndNameAutoComplete( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin,  @javax.annotation.Nonnull String name,  int limit) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlterminAndNameAutoComplete" ,  wahltermin ,  name  ,  limit);

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlterminAndNameAutoComplete( wahltermin ,  name  ,  limit));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlterminAndNameAutoComplete( wahltermin ,  name  ,  limit);
            }
                                                                        
        /**
        * Name: WahlterminAndNummerAutoCompleteNoFlush<br>
        * Beschreibung: Wird für das Autocomplete verwendet (in der Schnellsuche).<br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahltermin =?1 AND o.nummer LIKE ?2 ORDER BY o.nummer<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlterminAndNummerAutoComplete( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin,  @javax.annotation.Nonnull String nummer,  int limit) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlterminAndNummerAutoComplete" ,  wahltermin ,  nummer  ,  limit);

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlterminAndNummerAutoComplete( wahltermin ,  nummer  ,  limit));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlterminAndNummerAutoComplete( wahltermin ,  nummer  ,  limit);
            }
                                        
        /**
        * Name: WahlterminAndUebergeordnetemGebietNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT g FROM Gebiet g WHERE g.wahltermin = ?1 AND g.uebergeordnetesGebiet = ?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlterminAndUebergeordnetemGebiet( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin,  @javax.annotation.Nonnull de.ivu.elect.business.gebietsbaum.entity.Gebiet uebergeordnetesGebiet) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlterminAndUebergeordnetemGebiet" ,  wahltermin ,  uebergeordnetesGebiet  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlterminAndUebergeordnetemGebiet( wahltermin ,  uebergeordnetesGebiet  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlterminAndUebergeordnetemGebiet( wahltermin ,  uebergeordnetesGebiet  );
            }
                                                        
        /**
        * Name: WahlterminNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahltermin =?1<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahltermin( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahltermin" ,  wahltermin  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahltermin( wahltermin  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahltermin( wahltermin  );
            }
                                        
        /**
        * Name: WahlterminVerantwortlicherMandantNoFlush<br>
        * Beschreibung: <br>
        * EJBQL: SELECT o FROM Gebiet o WHERE o.wahltermin=?1 AND o.verantwortlicherMandant = ?2<br>
        * SQL: <br>
        */
        @Override
        public java.util.List<Gebiet> findByWahlterminVerantwortlicherMandant( @javax.annotation.Nonnull de.ivu.elect.business.wahl.entity.Wahltermin wahltermin,  @javax.annotation.Nonnull de.ivu.elect.business.mandant.entity.Mandant verantwortlicherMandant) {

        if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
        de.ivu.elect.presentation.system.FinderKey key = new de.ivu.elect.presentation.system.FinderKey("Gebiet.findByWahlterminVerantwortlicherMandant" ,  wahltermin ,  verantwortlicherMandant  );

        Object cached = daoCache.findInCache(key);

        if (cached==null) {
          return daoCache.cache(key, super.findByWahlterminVerantwortlicherMandant( wahltermin ,  verantwortlicherMandant  ));
        }
        return (java.util.List<Gebiet>) cached;
        }
            return super.findByWahlterminVerantwortlicherMandant( wahltermin ,  verantwortlicherMandant  );
            }
                                                    
@Override
public void clear() {
super.clear();
if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
daoCache.clear();
}

}

@Override
public void flush() {
super.flush();
if (de.ivu.elect.business.system.control.CacheQueries.CACHE_QUERIES_DAO) {
daoCache.clear();
}
}



}