DetachedCriteria deta = DetachedCriteria.forClass(SysConfTeamInf.class); deta.add(Restrictions.ne("teamConfStatus",ConstantsUtils.DELETE_STATE)); deta.createAlias("需要关联的对象", "别名", DetachedCriteria.INNER_JOIN); deta.addOrder(Order.asc("teamConfStatus")); deta.addOrder(Order.desc("teamComeTime")); return this.findPageByCriteria(deta, page, countPerPage);
hibernate的DetachedCriteria查询(多对多查询问题)
hibernate的DetachedCriteria查询
图书和作者之间是多对多关系.现在知道作者.要查该作者所写的图书,条件应该怎样写啊
我这样写是错误的
detachedCriteria.add(Restrictions.eq("authors", authorSet));请问这句应该怎样写才对
authorSet是一个Set类型的变量
解决办法
detachedCriteria.createAlias("authors", "auths").add( Restrictions.in("auths.name", authorSet));
不过出又出现了新的问题
查得的结果以数组的方式返回,数组包含了Book和Author两个对象了,能不能设置一下,让它只返回Book对象就好了
相关推荐
**Hibernate 框架及其DetachedCriteria...以上就是关于Hibernate中DetachedCriteria的详细介绍,希望对你在理解和使用Hibernate进行数据库操作时有所帮助。在实践中不断探索和实践,你会发现更多使用技巧和优化策略。
DetachedCriteria
DetachedCriteria 查询 DetachedCriteria 是 Hibernate 中的一种离线查询对象,它可以在不依赖 Session 的情况下生成动态 SQL 语句并进行查询。下面是 DetachedCriteria 查询的详细知识点: 创建 DetachedCriteria...
### DetachedCriteria 使用详解 #### 一、基本使用 **1. 说明** `DetachedCriteria` 是 Hibernate 提供的一种灵活且强大的查询机制,它允许你在脱离 Session 的情况下构建复杂的查询标准,这意味着你可以提前构建...
"Hibernate - DetachedCriteria 的完整用法" Hibernate 的 Criteria 和 DetachedCriteria 是两个不同的概念,虽然它们都是用于查询数据的,但它们在创建和使用上有所不同。 首先,Criteria 是在线的,需要通过 ...
在提供的代码文件中,我们看到了`Husband.java`和`Wife.java`两个类,这可能是表示一对多或者一对一的关系。如果要在DetachedCriteria中查询这两个实体的关联数据,可以先分别构建DetachedCriteria,然后在执行时...
// 对查询结果进行处理 } ``` #### 六、总结 `DetachedCriteria` 提供了一种高效且灵活的方式来处理动态查询需求,特别是在多层架构的应用程序中,它能够显著降低各层之间的耦合度,提高代码的可维护性和扩展性。...
Spring框架对DetachedCriteria的支持: Spring框架提供了对离线查询的支持,非常简洁地使用DetachedCriteria。Spring框架提供了getHibernateTemplate().findByCriteria(detachedCriteria)方法,可以很方便地根据...
### Hibernat 使用Criteria查询多对多关系(SET集合)条件 #### 背景介绍与概念理解 在Java开发中,特别是在企业级应用中,持久化层的处理至关重要。Hibernate作为一款流行的Java持久化框架,它提供了一种非常简便...
源文件 博文链接:https://kings008.iteye.com/blog/246773
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class); detachedCriteria.add(Expression.eq("username", "admin")); List<User> users = session.createCriteria(User.class)....
SimpleProjection如avg(), count(), max(), min(), sum()等提供了对字段的聚合操作。ProjectionList则用于组合多个投影,Property则用于指定特定字段的查询。 使用Criteria API时,开发者需要理解以下关键步骤: 1...
9. **一对多与多对一关系**:讲解如何处理实体间的关联关系,如一个用户有多个订单(一对多)或者一个订单对应一个用户(多对一)的映射配置。 10. **多对多关系**:讨论多对多关系的映射,包括中间表的自动管理和...
Junction接口(包括conjunction和disjunction)用于组合多个Criterion,分别表示逻辑AND和OR。Restrictions工具类提供了创建Criterion的静态方法,例如`eq()`、`ge()`、`between()`等。 Example是另一种特殊的...
例如,DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Class); 这里可以在 Session 之外创建 DetachedCriteria 实例。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询...
- Hibernate支持多种关系映射,本章将深入讲解一对一、一对多和多对一的关系配置,包括集合类型的选择(List, Set, Map等)和级联操作的设置。 4. **Chapter 9:多对多关系映射** - 多对多关系在数据库设计中常见...
Spring 的框架提供了 getHibernateTemplate().findByCriteria(detachedCriteria) 方法可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置...
3. **对象关系映射**:深入讲解Hibernate的核心——对象关系映射(ORM),包括实体类的设计、属性注解、主键生成策略、关联映射(一对一、一对多、多对一、多对多)等,使开发者理解如何将Java对象与数据库表进行...
7. **关联映射**:详细解析一对一、一对多、多对一、多对多的各种关联映射,包括集合类型如List、Set、Map的使用。 8. **延迟加载和立即加载**:了解何时使用延迟加载和立即加载,以及它们对性能的影响。 9. **...