List of usage examples for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY
ResultTransformer DISTINCT_ROOT_ENTITY
To view the source code for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.
Click Source Link
From source file:com.apress.progwt.server.dao.hibernate.UserDAOHibernateImpl.java
License:Apache License
/** * add all fetch mode concerns to the critera. without * DISTINCT_ROOT_ENTITY these fetches will create multiple rows * /*from www .j a v a 2s .c o m*/ * If we join both schoolRankings & processTypes, we'll get duplicates * again. Fetch one of the collections with a SELECT and initialize * instead. Test in UserServiceImpl.testFetch() * * Same with the process of each schoolRanking. Note, this is N+1 * selects. * * @param crit * @return */ private User fetchAllUser(DetachedCriteria crit) { crit.setFetchMode("schoolRankings", FetchMode.JOIN).setFetchMode("schoolRankings.school", FetchMode.JOIN) .setFetchMode("schoolRankings.process", FetchMode.SELECT) .setFetchMode("processTypes", FetchMode.SELECT) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); User rtn = (User) DataAccessUtils.uniqueResult(getHibernateTemplate().findByCriteria(crit)); Hibernate.initialize(rtn.getProcessTypes()); Hibernate.initialize(rtn.getRatingTypes()); for (Application application : rtn.getSchoolRankings()) { Hibernate.initialize(application.getProcess()); Hibernate.initialize(application.getRatings()); } log.debug("fetched user: " + rtn.getNickname() + " ratings " + rtn.getRatingTypes().size()); // Hibernate.initialize(rtn.getSchoolRankings()); return rtn; }
From source file:com.cfs.controller.AuthoritiesDAO.java
public List<Authorities> listaAuthorities() throws Exception { List<Authorities> lista = null; try {/*from w w w . j a v a2 s . c o m*/ session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Authorities.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); lista = criteria.list(); //System.out.println(Utilities.getInstance().getLineNumber() + "RESULTADO DO PRIMEIRO - "+lista.get(1).getAuthority()); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { session.close(); } return lista; }
From source file:com.cfs.controller.AuthoritiesDAO.java
public Authorities buscaAuthorities(String authority) throws Exception { Authorities retorno = null;//www . ja v a 2s . c o m try { session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Authorities.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.add(Restrictions.like("authority", authority)); if (criteria.list().size() > 1) { System.out.println(Utilities.getInstance().getLineNumber() + "[buscaAuthorities (" + authority + ")][ERRO] criteria.list().size() = " + criteria.list().size()); } retorno = (Authorities) criteria.uniqueResult(); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { session.close(); } return retorno; }
From source file:com.cfs.controller.UsersDAO.java
public List<Users> listaUsers() throws Exception { List<Users> lista = null; try {/* www. j a va 2 s. c o m*/ session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Users.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); lista = criteria.list(); //System.out.println(Utilities.getInstance().getLineNumber()+"RESULTADO DO PRIMEIRO"+lista.get(0).getDescricao()); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { session.close(); } return lista; }
From source file:com.cfs.controller.UsersDAO.java
public Users buscaUsuarioPorUSERNAME(String username) { usuario = null;//from ww w.j ava 2s . com try { session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Users.class); criteria.add(Restrictions.eq("username", username)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); usuario = (Users) criteria.uniqueResult(); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } return usuario; }
From source file:com.cmweb.orm.hibernate.SimpleHibernateDao.java
License:Apache License
public Query distinct(Query query) { query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return query; }
From source file:com.cmweb.orm.hibernate.SimpleHibernateDao.java
License:Apache License
public Criteria distinct(Criteria criteria) { criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria; }
From source file:com.cristian.tareask.daoImpl.EmailConversationDaoImpl.java
@Override public List getAllEmailConversations(int idUser) { s = HibernateUtil.getSessionFactory().openSession(); Criteria c = s.createCriteria(EmailConversation.class).createAlias("emailMessage", "message") .createAlias("message.messageReceptors", "receptor").createAlias("receptor.user", "user") .createAlias("message.user", "userid") //parte experimental .add(Restrictions.or(Restrictions.eq("userid.id", idUser), Restrictions.eq("user.id", idUser))) //.add(Restrictions.eq("userid.id", 2)) //.add(Restrictions.eq("user.id",2)) // fin parte experimental .addOrder(Order.desc("message.date")) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return c.list(); }
From source file:com.eryansky.common.orm.core.hibernate.support.BasicHibernateDao.java
License:Apache License
/** * Querydistinct transformer,????distinct? * //www. j av a 2 s . co m * @param queryOrNamedQuery hql HibernateNamedQuery * @param values * * @return List */ public <X> List<X> distinct(String queryOrNamedQuery, Object... values) { Query query = createQuery(queryOrNamedQuery, values); query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<X> result = query.list(); if (CollectionUtils.isEmpty(result) || result.get(0) == null) { return Lists.newArrayList(); } return result; }
From source file:com.eryansky.common.orm.core.hibernate.support.BasicHibernateDao.java
License:Apache License
/** * Querydistinct transformer,????distinct? * //from w w w .ja v a2 s . c o m * @param queryOrNamedQuery hql HibernateNamedQuery * @param values * * @return List */ public <X> List<X> distinct(String queryOrNamedQuery, Map<String, Object> values) { Query query = createQuery(queryOrNamedQuery, values); query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<X> result = query.list(); if (CollectionUtils.isEmpty(result) || result.get(0) == null) { return Lists.newArrayList(); } return result; }