LanguageDAOImpl.java

  1. package org.itracker.persistence.dao;

  2. import org.hibernate.HibernateException;
  3. import org.hibernate.Query;
  4. import org.itracker.model.Language;

  5. import java.util.List;

  6. /**
  7.  *
  8.  */
  9. public class LanguageDAOImpl extends BaseHibernateDAOImpl<Language>
  10.         implements LanguageDAO {

  11.     public Language findById(Integer id) {
  12.         Language language;

  13.         try {
  14.             language = (Language) getSession().get(Language.class, id);
  15.         } catch (HibernateException ex) {
  16.             throw convertHibernateAccessException(ex);
  17.         }
  18.         return language;
  19.     }

  20.     public Language findByKeyAndLocale(String key, String locale) {
  21.         Language language;

  22.         try {
  23.             Query query = getSession().getNamedQuery(
  24.                     "LanguagesByKeyAndLocaleQuery");
  25.             query.setString("key", key);
  26.             query.setString("locale", locale);
  27.             language = (Language) query.uniqueResult();
  28.         } catch (HibernateException ex) {
  29.             throw convertHibernateAccessException(ex);
  30.         }

  31.         if (language == null) {
  32.             throw new NoSuchEntityException("No language item for "
  33.                     + key + " " + locale);
  34.         }
  35.         return language;
  36.     }

  37.     @SuppressWarnings("unchecked")
  38.     public List<Language> findByKey(String key) {
  39.         List<Language> languages;

  40.         try {
  41.             Query query = getSession().getNamedQuery("LanguagesByKeyQuery");
  42.             query.setString("key", key);
  43.             languages = query.list();
  44.         } catch (HibernateException ex) {
  45.             throw convertHibernateAccessException(ex);
  46.         }
  47.         return languages;
  48.     }

  49.     @SuppressWarnings("unchecked")
  50.     public List<Language> findByLocale(String locale) {
  51.         List<Language> languages;

  52.         try {
  53.             Query query = getSession().getNamedQuery("LanguagesByLocaleQuery");
  54.             query.setString("locale", locale);
  55.             languages = query.list();
  56.         } catch (HibernateException ex) {
  57.             throw convertHibernateAccessException(ex);
  58.         }
  59.         return languages;
  60.     }

  61. }