/**
* 得到大区编号和名称
* @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>
分享到:
相关推荐
criteria.setProjection(Projections.countDistinct("age")); // 计算年龄字段不为空且不重复的记录数量 List<Long> countDistinctAge = criteria.list(); ``` - **最大值(Max)**: ```java Criteria ...
5. **避免使用 DISTINCT**:DISTINCT 关键词会导致查询结果需要额外排序,从而影响性能。 #### 四、主配置参数 1. **查询缓存**:查询缓存是针对 HQL 语句的缓存机制。虽然它可以提高性能,但对于数据频繁变化的...
- `distinct`关键字可以去除查询结果中的重复记录。 - 使用`between`来查询介于两个值之间的数据。 在设计数据库表时,每个表应有一个主键,主键不应包含业务逻辑,方便修改。Hibernate提供了自动生成Domain对象的...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
若想去除重复数据,可以使用`distinct`关键字,如`select distinct s.age from Student s`,这将返回不重复的年龄值。 此外,HQL还支持更复杂的查询,如`where`子句用于添加条件,`join`用于处理关联关系,`group ...
- **避免使用 `DISTINCT` 关键字**:除非必要,因为这可能会导致性能下降。 - **合理使用缓存**:Hibernate支持二级缓存,可以有效减少数据库访问次数。 #### 四、抓取策略(Fetch Strategy) 抓取策略决定了...
- **DISTINCT**:用于过滤重复的查询结果。 - **DELETE**和**UPDATE**:支持对象的删除和更新操作。 - **计算属性值**:允许在查询中进行简单的数学运算。 - **函数支持**:支持常见的SQL函数如`lower`、`upper`等。...
crite.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); ``` 这样处理后的结果集将只包含唯一的根实体对象。 #### 动态查询 在实际应用中,经常会遇到需要根据用户输入动态构建查询条件的情况。以下是一个...
- **分组**:使用`setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)`或`setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)`进行分组查询。 #### 七、总结 通过本文的介绍,我们可以了解到...
Hibernate Query Language(HQL)是Hibernate框架中用于查询对象关系映射(ORM)的语句,它是面向对象的,与SQL类似但更专注于处理持久化对象。HQL提供了丰富的功能,包括从简单对象检索到复杂的统计计算。 1. **...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。本文将详细解析Hibernate中的迫切连接(Eager Fetching)和普通连接(Lazy Fetching)的区别,并...
### Hibernate HQL 教程知识点总结 #### 1.1 HQL基础 ##### 1.1.1 默认数据库表和数据 - **介绍**: 本文档以`joblog`数据库为例,该数据库包含三个表:`student`(学生表)、`course`(课程表)和`sc`(选课表)。 - **...
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`代表...
在使用Hibernate的HQL(Hibernate Query Language)时,有一些关键的注意事项需要理解并遵循,以确保查询的正确性和效率。以下是对这些要点的详细说明: 1. **在Hql中使用`group by`的问题** - **统计函数与分组**...
5. **避免DISTINCT**:除非确实需要去除重复记录,否则应避免使用DISTINCT,因为这会增加查询的时间复杂度。 #### Hibernate数据检索策略 Hibernate提供了不同的数据检索策略,主要包括立即检索和延迟检索: - **...
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 ``` 在这个例子中,我们定义了...
Hibernate Query Language (HQL) 是Hibernate框架中用于查询数据库的面向对象的语言。它类似于SQL,但使用Java类和属性而不是表和列名。HQL的优势在于它允许开发者以对象的方式来思考查询,从而提高了代码的可读性...
- **SQL优化**:使用`DISTINCT`关键字可以消除查询结果中的重复行,但在大数据量下可能会影响性能。针对分页查询,可以利用`setMaxResults`和`setFirstResult`方法实现高效的分页查询。 #### 3. Struts2的工作原理 ...
同时,可以使用`distinct`关键字去除重复结果,如`Select distinct user from User user`。 【实体的删除和更新】 在HQL中,`delete`和`update`子句可以用于直接更新或删除实体。`Update User user set user.age=...