Hibernate Criteria查询的常见用法及示例

版权申诉
0 下载量 111 浏览量 更新于2024-03-27 收藏 38KB DOCX 举报
HibernateCriteria是Hibernate提供的一种便捷的查询方式,通过创建Criteria对象来描述查询条件,而不是通过编写SQL语句。HibernateCriteria的使用可以分为两种方式,一种是QBE(Query By Example),另一种是QBC(Query By Criteria)。 QBE是通过Example对象来创建查询条件,首先创建一个Criteria对象,然后调用add方法传入一个Example对象,该Example对象包含了要查询的实体对象的属性值。通过设置实体对象的属性值,可以定义一个模板,然后Criteria对象将根据模板来执行查询,返回符合条件的结果集。 例如,通过创建一个Student实体对象s,设置其中的属性值,然后调用cri.add(Example.create(s))方法,可以查询出所有符合条件的Student对象。这种方式简单直观,适用于根据实体对象的属性来查询数据的场景。 另一种方式是QBC,通过创建Criteria对象,然后调用相应的方法设置查询条件。Criteria对象由Criteria、Criterion、Order和Restrictions类组成。可以通过Restrictions类提供的方法设置查询条件,比如like、eq、gt等。可以使用Criterion对象描述查询条件,将Criterion对象通过add方法添加到Criteria对象中,然后调用list方法执行查询,返回结果集。 在使用QBC时,首先创建一个Criteria对象,然后通过Restrictions.like方法创建一个Criterion对象,指定要查询的属性和条件,最后通过add方法将该Criterion对象添加到Criteria对象中,最后调用list方法执行查询。这种方式更加灵活,可以根据需要组合多个条件进行查询,适用于复杂的查询场景。 总的来说,HibernateCriteria提供了两种方便快捷的查询方式,QBE适用于根据实体对象的属性进行查询,而QBC则适用于灵活组合多个条件进行查询。通过使用HibernateCriteria,可以方便地进行数据查询操作,提高了开发效率和代码的可维护性。