jpa使用jpql,在程序中使用jpql语句的in
来源:互联网 发布:python兼职网 编辑:程序博客网 时间:2024/05/16 19:34
在hibernnate中 通过指定的多个id查询多个实体的方法很简单,例如:
public List<T> getByIds(Integer [] ids) {
//方法一
//return getSession().createQuery("form" + clazz + " o where o.id in (:ids)") .setParameterList("ids", ids) .list();
//方法二
return getSession().createCriteria(clazz).add(Restrictions.in("id", ids)).list();
}
在hibernate中可以使用setsetParameterList()方法,如果使用jpa,而在jpa中没有setsetParameterList()方法,该怎么解决?例如
public List<T> getByIds(Integer [] ids) {
// "select o from Xxx o where o.id in (1,2,3,4,5,...)"
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < ids.length; i++) {
stringBuilder.append("?").append(i + 1).append(",");
}
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
String jpql = "select o from " + getEntityName(clazz) + " o where o.id in (" + stringBuilder + ")";
Query query = entityManager.createQuery(jpql);
for (int i = 0; i < ids.length; i++) {
query.setParameter(i + 1, ids[i]);
}
return query.getResultList();
}
必须通过拼装jpql如果来实现这个功能
- jpa使用jpql,在程序中使用jpql语句的in
- JPA之使用JPQL语句操作数据库
- JPQL的使用
- JPA JPQL 语句
- 在 Java EE应用程序中使用JPQL
- jpql 语句的查询
- EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(1)
- EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(2)
- EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(1)
- EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(2)
- 传智播客jpa学习,jpa中用到的注解和jpql语言的使用
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询
- JPA的查询语言JPQL
- JPA JPQL的各种实例
- Spring-data-JPA生成JPQL语句方法名称中支持的关键字
- JPA学习记录五(使用JPA加载_更新_删除对象及使用JPQL语句进行查询)
- JPQL语句
- 使用 JPQL 和原生 SQL 查询 JPA 实体
- 7.4.2 使用聚合操作进行计算
- Struts框架中三种获取Session的方法
- mac tga转jpg
- Troubleshooting LNK2001 or L2029 Unresolved External Errors
- 密码保存
- jpa使用jpql,在程序中使用jpql语句的in
- 等待队列学习笔记
- POS消费机C井例子代码(3)
- Ubuntu下android源码编译环境搭建
- Div 模拟 Select Demo
- 二维数组的排序
- .NET组件程序设计 第3章
- hadoop如何重跑task
- 转载 malloc与new函数详解