`

Hibernate distinct

 
阅读更多

 

/**
	 * 得到大区编号和名称
	 * @return
	 */
	public List<Object> getRegionCodeAndName() throws DataAccessException {
		finder = new Finder("")
		.append(" SELECT DISTINCT dlaid, dlaname FROM ClubDealerSmallArea c ")
		.append(" ORDER BY dlaid ");
		return findO(finder);
	}

 

distinct 后,得到的是对象数组,是object[],取值的话直接用object[i]

 

@SuppressWarnings("unchecked")
	public List<Object> findO(Finder finder) throws DataAccessException {
		try {
			Query query = getSession().createQuery(finder.getOrigHql());
			finder.setParamsToQuery(query);
			query.setFirstResult(finder.getFirstResult());
			if (finder.getMaxResults() > 0) {
				query.setMaxResults(finder.getMaxResults());
			}
			List list = query.list();
			if(list!=null && list.size()<1)
				list = null;
			return list;
		} catch (Exception e) {
			log.error("method:find(Finder finder)",e);
			throw new DataAccessException();
		}
	}

 在action中set到request中

setRequestAttr("objList", objList);

 在jsp页面中:

选择经销商:
	  			大区
	  			<select id="region" name="region">
	  				<option value="0">---请选择---</option>
	  				<c:forEach items="${objList }" var="obj">
	  					<option value="${obj[0] }">${obj[1] }</option>
	  				</c:forEach>
	  			</select>
 

 

 

分享到:
评论

相关推荐

    hibernate criteria 分组 排序 关联

    criteria.setProjection(Projections.countDistinct("age")); // 计算年龄字段不为空且不重复的记录数量 List&lt;Long&gt; countDistinctAge = criteria.list(); ``` - **最大值(Max)**: ```java Criteria ...

    Hibernate 性能优化

    5. **避免使用 DISTINCT**:DISTINCT 关键词会导致查询结果需要额外排序,从而影响性能。 #### 四、主配置参数 1. **查询缓存**:查询缓存是针对 HQL 语句的缓存机制。虽然它可以提高性能,但对于数据频繁变化的...

    hibernate核心知识

    - `distinct`关键字可以去除查询结果中的重复记录。 - 使用`between`来查询介于两个值之间的数据。 在设计数据库表时,每个表应有一个主键,主键不应包含业务逻辑,方便修改。Hibernate提供了自动生成Domain对象的...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    hibernate查询集合.pdf

    若想去除重复数据,可以使用`distinct`关键字,如`select distinct s.age from Student s`,这将返回不重复的年龄值。 此外,HQL还支持更复杂的查询,如`where`子句用于添加条件,`join`用于处理关联关系,`group ...

    hibernate 框架的基础四

    - **避免使用 `DISTINCT` 关键字**:除非必要,因为这可能会导致性能下降。 - **合理使用缓存**:Hibernate支持二级缓存,可以有效减少数据库访问次数。 #### 四、抓取策略(Fetch Strategy) 抓取策略决定了...

    安博Hibernate最全培训资料内部版

    - **DISTINCT**:用于过滤重复的查询结果。 - **DELETE**和**UPDATE**:支持对象的删除和更新操作。 - **计算属性值**:允许在查询中进行简单的数学运算。 - **函数支持**:支持常见的SQL函数如`lower`、`upper`等。...

    Hibernate学习资料(离线查询)

    crite.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); ``` 这样处理后的结果集将只包含唯一的根实体对象。 #### 动态查询 在实际应用中,经常会遇到需要根据用户输入动态构建查询条件的情况。以下是一个...

    Hibernate中Criteria的用法

    - **分组**:使用`setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)`或`setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)`进行分组查询。 #### 七、总结 通过本文的介绍,我们可以了解到...

    课程hibernate查询集合.pdf

    Hibernate Query Language(HQL)是Hibernate框架中用于查询对象关系映射(ORM)的语句,它是面向对象的,与SQL类似但更专注于处理持久化对象。HQL提供了丰富的功能,包括从简单对象检索到复杂的统计计算。 1. **...

    Hibernate迫切连接和普通连接的区别实例详解

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。本文将详细解析Hibernate中的迫切连接(Eager Fetching)和普通连接(Lazy Fetching)的区别,并...

    Hibernate HQL教程

    ### Hibernate HQL 教程知识点总结 #### 1.1 HQL基础 ##### 1.1.1 默认数据库表和数据 - **介绍**: 本文档以`joblog`数据库为例,该数据库包含三个表:`student`(学生表)、`course`(课程表)和`sc`(选课表)。 - **...

    JSP 开发之hibernate的hql查询多对多查询

    String hql = "SELECT distinct a.id FROM TmEduExamContent a"; if (!"".equals(groupIds[0])) { hql += " join a.groups as b "; } hql += "where b.id in (:groupIds)"; ``` 这里,`a`代表试题实体,`b`代表...

    Hql语句注意事项总结

    在使用Hibernate的HQL(Hibernate Query Language)时,有一些关键的注意事项需要理解并遵循,以确保查询的正确性和效率。以下是对这些要点的详细说明: 1. **在Hql中使用`group by`的问题** - **统计函数与分组**...

    04-HQL高级.pdf

    5. **避免DISTINCT**:除非确实需要去除重复记录,否则应避免使用DISTINCT,因为这会增加查询的时间复杂度。 #### Hibernate数据检索策略 Hibernate提供了不同的数据检索策略,主要包括立即检索和延迟检索: - **...

    Hibrenate 学习摘记

    select distinct p.* from E_ROLE_PROFILE_MAP map, E_PROFILES p, E_ROLE e where map.PROFILE_ID = p.ID and map.ROLE_ID = e.ID and e.ID in (:roleIdList) order by p.ID ``` 在这个例子中,我们定义了...

    hql语句查询

    Hibernate Query Language (HQL) 是Hibernate框架中用于查询数据库的面向对象的语言。它类似于SQL,但使用Java类和属性而不是表和列名。HQL的优势在于它允许开发者以对象的方式来思考查询,从而提高了代码的可读性...

    SSH经典面试题汇总

    - **SQL优化**:使用`DISTINCT`关键字可以消除查询结果中的重复行,但在大数据量下可能会影响性能。针对分页查询,可以利用`setMaxResults`和`setFirstResult`方法实现高效的分页查询。 #### 3. Struts2的工作原理 ...

    HIBERNARE ppt

    同时,可以使用`distinct`关键字去除重复结果,如`Select distinct user from User user`。 【实体的删除和更新】 在HQL中,`delete`和`update`子句可以用于直接更新或删除实体。`Update User user set user.age=...

Global site tag (gtag.js) - Google Analytics