如果每个美女都有自己的客户资源(不要想歪了!),那么需要查询拥有客户Gates的美女怎么办?
使用Criteria可以有两种方法:
1:
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class).createCriteria("customers");
beautyCriteria.add(Restrictions.eq("name", "Gates")):
2:
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class).createAlias("customers", "c");
beautyCriteria.add(Restrictions.eq("c.name", "Gates")):
接着有了新的要求,年纪太大的美女不要,还是查找拥有客户Gates的,条件如下:
DetachedCriteria beautyCriteria = DetachedCriteria.forClass(Beauty.class, "b").;
DetachedCriteria customerCriteria = beautyCriteria.createAlias("customers", c");
beautyCriteria.add(Restrictions.le("b.age", new Long(20))):
customerCriteria.add(Restrictions.eq("c.name", "Gates")):
----------------------------------------------------------------------------------------------
<prop key="hibernate.hbm2ddl.auto">update</prop>
其中update表示加载hibernate自动更新数据库结构,你也可以用create,但这样你数据库中的所有数据都会被清除,估计你现在写的是none,所以不会自动生成
分享到:
相关推荐
### DetachedCriteria 使用详解 ...以上方法为 `DetachedCriteria` 的使用提供了丰富的功能,使其成为处理各种查询需求的强大工具。通过灵活运用这些方法,你可以构建出满足各种业务场景的复杂查询。
而 DetachedCriteria 则是离线的,创建时无需 Session,可以使用 `DetachedCriteria.forClass(Class)` 或 `DetachedCriteria.forEntityName(String)` 方法来创建实例。 DetachedCriteria 提供了两个静态方法来...
这里,`getExecutableCriteria()`方法将DetachedCriteria转换为标准的Criteria,然后通过Session的`list()`方法获取查询结果。 **6. DetachedCriteria 的高级用法** 除了基本的条件和排序,DetachedCriteria还可以...
DetachedCriteria
### DetachedCriteria 使用详解 #### 一、背景与概述 在Web开发中,经常会遇到需要根据用户提供的条件进行动态查询的需求。例如,在社交平台中,用户可以设置多种筛选条件来进行高级搜索,这时就需要动态生成SQL...
DetachedCriteria 对象可以通过 `DetachedCriteria.forClass()` 或 `DetachedCriteria.forEntityName()` 方法创建,而不是由 Session 创建。例如: `DetachedCriteria criteria = DetachedCriteria.forClass...
浅谈DetachedCriteria和Criteria的使用方法 DetachedCriteria和Criteria是Hibernate框架中两个重要的查询工具,用于动态生成SQL语句,进行查询。在Web编程中,DetachedCriteria和Criteria可以解决动态条件查询的...
Criteria API 提供了`createCriteria()`方法来指定关联的实体,从而实现JOIN操作。但是,DetachedCriteria并不直接支持`createCriteria()`,因为它不与Session绑定,无法直接获取到关联实体的信息,所以无法进行实时...
本文将对 Hibernate 中 Criteria 的用法进行总结,涵盖 Criteria 和 DetachedCriteria 的差异、Criterion 和 Projection 的使用方法等。 Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供...
以下是一些使用Criteria API的基本用法: 1. 创建Criteria实例: ```java Criteria criteria = session.createCriteria(User.class); ``` 2. 添加查询条件: ```java criteria.add(Restrictions.eq("username...
DetachedCriteria 提供了静态方法 forClass(Class) 或 forEntityName(Name) 来创建实例。 二、Criterion 和 Projection Criterion 是 Criteria 的查询条件,可以通过 add(Criterion criterion) 方法添加查询条件。...
### Criteria使用方法详解 #### 一、概述 在软件开发过程中,尤其是涉及到数据库操作的应用程序中,查询语言的灵活性和效率对于项目的成功至关重要。Hibernate作为Java领域中最流行的ORM(Object Relational ...
在Spring框架中,HibernateTemplate提供了一种方便的方式来执行DetachedCriteria查询,通过getHibernateTemplate().findByCriteria(detachedCriteria)方法,可以轻松地根据DetachedCriteria实例执行查询并获取结果。...
通过理解并熟练掌握`Criteria`、`DetachedCriteria`、`Criterion`和`Projection`等核心概念及其使用方法,可以显著提升数据库操作的效率和代码的可维护性。在实际项目中,结合Spring框架的便利性,开发者能够更加...
DetachedCriteria可以通过`forClass(Class)`或`forEntityName(String)`静态方法实例化,之后可以通过Spring的HibernateTemplate与数据库交互。 Criteria和DetachedCriteria都可以利用Criterion和Projection来设置...
在这个例子中,我们创建了两个条件,然后使用`Restrictions.and()`方法将它们组合成一个"年龄大于等于18且状态为active"的查询条件。 最后,我们来谈谈Criterion的性能。由于Hibernate会将Criterion转换为SQL语句...
通过本文的介绍,我们可以了解到Hibernate Criteria的强大功能及其使用方法。它不仅能够满足基础的数据查询需求,还能支持更复杂的查询逻辑组合,从而使得开发者能够更加高效地完成数据访问层的开发工作。在实际应用...