@Override
@SuppressWarnings("all")
public List<UserInfo> findUserInfoByAuthorityRanges(final String[] authorityRanges) {
return hibernateTemp.execute(new HibernateCallback<List<UserInfo>>() {
@Override
public List<UserInfo> doInHibernate(Session session)
throws HibernateException, SQLException {
//从UserRole中间表获得role表中AuthorityRange值为authorityRanges数组中的值
//最后返回userInfo表的数据
String hql = "" +
"SELECT userRole.userInfo " +
"FROM UserRole userRole JOIN userRole.role role " +
"WHERE role.authorityRange " +
"IN (:authorityRanges)";
Query query= session.createQuery(hql);
query.setParameterList("authorityRanges", Arrays.asList(authorityRanges));
return query.list();
}
});
}
便于显示,断行hql
分享到:
相关推荐
- `@NotEmpty`:验证集合、数组或Map是否为空。 - `@Pattern`:验证字符串是否符合正则表达式。 - `@Min`和`@Max`:验证数值类型的最小值和最大值。 - `@DecimalMin`和`@DecimalMax`:验证浮点数类型的最小值和最大...
10. **集合映射**:集合如List、Set、Map等可以映射到数据库的数组、集合类型的字段,通过`@ElementCollection`或`@ManyToMany`等注解实现。 这个压缩包中的使用手册将详细解释这些概念,并通过示例代码演示如何在...
存储过程是预编译的SQL语句集合,可以接受输入参数、返回结果以及执行复杂的业务逻辑。在Java中,尤其是使用Spring框架时,我们可以借助JDBC或ORM(对象关系映射)工具如Hibernate来调用这些存储过程。 在Spring中...
- `@NotEmpty`:用于检查字符串、集合或数组是否为空。 - `@NotBlank`:检查字符串是否为空或只包含空格。 - `@Size`:限制字段的长度。 - `@Min` 和 `@Max`:限制数字类型的最小值和最大值。 - `@Pattern`:...
本文将深入探讨Hibernate中的查询语言——Hibernate Query Language(HQL),它是Hibernate提供的用于查询持久化对象的强大工具。 首先,HQL与SQL有着相似的语法结构,但HQL专注于对象而不是数据库表。在HQL中,`...
例如,`@NotNull`用于检查字段是否为null,`@NotEmpty`用于检查字符串、集合或数组是否为空,`@Size`用于限制字段的长度,`@Min`和`@Max`则用于限制数值类型的最小值和最大值。此外,还有`@Email`用于验证电子邮件...
当Hibernate查询返回的是简单对象集合时,可以使用`JRBeanCollectionDataSource`类。例如: ```java List<Cat> cats = session.find("from eg.Cat"); Map parameters = new HashMap(); parameters.put("Title",...
在方法级别上的@hibernate Tag通常用于定义集合或其他属性的行为。 ##### 2.1 @hibernate.any (0..1) **功能描述**:用于表示多对多或一对多关系中的中间表中的任何对象。 **参数**: - **column**: 中间表中...
使用(SOME,ALL,NONE)过滤集合和关联。 将单个过滤器与逻辑运算符(AND,OR,NOT)的任意组合组合。 按属性排序。 分页。 从客户端代码远程定义搜索。 将搜索结果转换为对象,列表,数组和地图 指定要急切...
第一个方法接受一个查询字符串和一个参数值,第二个方法接受一个查询字符串和一个参数值数组。它们可以用于精确匹配或模糊查询,如查询 `name` 属性等于 "test" 或包含 "test" 的 `User` 对象。 3. `findByExample...
- 支持设置和获取属性值、属性赋值、方法调用、数组和集合的索引访问、逻辑和算术运算符、命名变量以及从Spring IoC容器中按名称检索对象。 #### 数据访问与集成层 Spring框架的数据访问/集成层包括JDBC、ORM、...
学习如何在 Servlet 中读取请求参数,并使用 Hibernate 从数据库获取数据。 - **1.4.3 部署与测试** 将应用部署到 Web 服务器上,并对其进行测试。 #### 四、总结 **1.5 总结** 这部分总结了之前章节中学到的...
例如,一个GET请求中的查询参数`id=123`会被自动绑定到控制器方法的`int id`参数上。 2. **默认数据类型绑定**: 当请求参数与控制器方法参数类型不完全匹配时,Spring MVC会尝试进行默认转换。例如,字符串"true...
Hibernate Validator实现更简洁的参数校验及util Hibernate Validator是一个数据校验框架,属于Hibernate项目的一部分,是Bean Validation的参考实现。它提供了JSR 303规范中所有内置constraint的实现,还有一些...
对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...
`ElementDescriptor` 描述了一个集合或数组元素的所有元数据信息,包括其约束信息。 ##### 9.5 GroupConversionDescriptor `GroupConversionDescriptor` 描述了一个分组转换的所有元数据信息。 ##### 9.6 ...
Java编程基础教程 Java是一种广泛使用的面向对象的...随着技能的提升,你可以进一步探索更高级的主题,如设计模式、并发编程、框架(Spring、Hibernate等)以及Java EE(企业级应用)。祝你在Java学习之路上一帆风顺!
查询数据,前面已经讲过简单的,主要看查询出列表的 查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而...
另一种方法是使用Hibernate的参数绑定功能,直接将数组作为参数传递,Hibernate会自动处理这些参数。 在处理这类问题时,需要注意以下几点: - **性能优化**:大量使用`in`子句可能导致SQL性能下降,尤其是在数组很...
3. `@NotEmpty`:用于集合、数组和Map,确保它们非空且非空集合。 4. `@Length`:限制字符串长度,可以指定最小值和最大值。 5. `@Min` 和 `@Max`:用于数值类型,限制其范围。 6. `@Pattern`:使用正则表达式进行...