hibernate 中Criteria使用示例查询时代码如下,在实例化了一个FilmInfo类之后我设置了电影名称的属性,并将参数传入;但是得到的运行结果却是很意外,如下段代码所示
public class Test_Example4 {
public static void main(String[] args) {
List<FilmInfo> result = null;
FilmInfo filmInfo = new FilmInfo();
filmInfo.setFilmName("大兵小将");
Session session = HibernateSessionFactory.getSession();
Criteria criteria = session.createCriteria(FilmInfo.class);
criteria.add(Example.create(filmInfo));
result = criteria.list();
for(FilmInfo f : result){
System.out.println(f.getFilmName()+" "+f.getActor());
}
}
}
此处我并未设置.TICKETPRICE的值,但是在SQL语句中出现了该查询条件,并且,它始终存在于查询条件中,无论我是否设置,那么请问,这种情况该从什么角度来解决?
Hibernate:
select
this_.FilmID as FilmID0_0_,
this_.FILMNAME as FILMNAME0_0_,
this_.ACTOR as ACTOR0_0_,
this_.DIRECTOR as DIRECTOR0_0_,
this_.TICKETPRICE as TICKETPR5_0_0_,
this_.TYPEID as TYPEID0_0_
from
spray.FILMINFO this_
where
(
this_.FILMNAME=?
and this_.TICKETPRICE=?
)
问题补充:suziwen 写道
看看你的HBM.XML配置文件,
估计你是把TICKETPRICE映射成int基本类型了
如果是类似这样的话,int是必须有值的,默认为0
你把他映射成integer试试
您好,非常感谢您的回复,根据您的建议我对该配置文件进行了确认,TICKETPRICE的映射确实为integer类型,又经过了反复的测试还是原来的结果,找不出问题的原因所在
问题补充:在查询语句中修改如下语句
criteria.add(Example.create(film).excludeZeroes());
上述问题得到了解决,但是没有从根本上解除:这个默认值从哪里来的,为什么没有定义的情况下,就自动出现...
相关推荐
在Hibernate框架中,Criteria查询是除HQL之外的另一种常用查询方式。 #### 二、Criteria 接口 `org.hibernate.Criteria` 接口代表了针对某个特定持久化类的查询。在Hibernate中,可以通过`Session` 对象的 `...
在Hibernate的Criteria API中,模糊查询主要通过`Restrictions.like()`方法来实现。该方法接受两个参数:字段名和包含通配符的字符串。 ##### 示例1:单字段模糊查询 ```java // 查找名字中包含“Erica”的用户 ...
在这个示例中,`User`是一个实体类,`username`是其一个属性。通过`Restrictions.like()`方法,实现了对`username`属性的模糊查询,即查找包含`keyword`的所有用户记录。 ### 总结 通过上述介绍,我们可以看到,...
Hibernate 中 Criteria 的用法是 Hibernate 框架中的一种查询机制,它提供了灵活的查询方式,可以根据不同的条件进行查询。Criteria 查询机制主要包括 QBE(Query By Example)、QBC(Query By Criteria)和 HQL...
在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以对象化的方式构建SQL语句,而无需直接编写SQL代码。本篇将详细讲解如何在Hibernate中利用Criteria查询来实现类似SQL...
本教程将深入探讨Hibernate 3.x版本中的查询方式,包括基本查询、HQL(Hibernate Query Language)以及Criteria API,帮助开发者更高效地处理数据库交互。 1. **基本查询(Criteria API)** Hibernate Criteria ...
通过学习这些示例,开发者可以更好地理解和掌握如何在实际项目中运用Hibernate进行数据库操作。 **标签:“源码”,“工具”** **详细知识点:** 1. **Hibernate简介**:Hibernate是一个开源的对象关系映射(ORM...
### Hibernate Criteria 排序问题详解 #### 一、前言 在使用Hibernate进行数据库操作时,经常需要对查询结果进行排序处理。对于简单的查询场景,使用HQL(Hibernate Query Language)即可轻松实现排序功能;但对于...
6. **查询**: Hibernate 提供了 Criteria API 和 HQL(Hibernate Query Language)进行查询。例如,使用HQL获取所有用户: ```java List<User> users = session.createQuery("from User").list(); ``` ### 核心...
其中,Criteria API是Hibernate提供的一个动态查询工具,它允许开发者以面向对象的方式来构建SQL查询。本文将深入探讨Criteria API的使用方法,并通过源码分析来帮助初学者快速掌握这一功能。 ### 1. Criteria API...
在Hibernate框架中,`Criteria`是一种非常实用且灵活的对象查询方式。它允许开发者通过构造一个`Criteria`对象来定义复杂的查询逻辑,从而实现对数据库中数据的高效检索。本文将详细介绍`Criteria`的基本概念、常用...
本文将详细介绍Hibernate中的Criteria API及其子类DetachedCriteria的使用方法,以及如何利用它们进行高效的数据查询。 #### 二、Criteria与DetachedCriteria ##### 1. Criteria - **定义**:`Criteria` 是...
Hibernate常用操作示例,包含详细注释说明,数据库初始化文件。使用和学习请参考:http://blog.csdn.net/daijin888888/article/details/51692942
在Hibernate中,使用`Criteria`进行查询时,可以通过添加排序条件来对结果集进行排序。`Criteria`提供了一个非常灵活的方式来实现这一点。 **示例代码**: ```java Criteria criteria = session.createCriteria...
要开始使用Criteria,你需要在Hibernate的Session中调用`createCriteria()`方法,传入你想查询的实体类的Class对象。例如,如果你要查询Person实体,你会这样做: ```java Criteria c = session.createCriteria...
在深入探讨Hibernate框架中Criteria API的使用之前,我们先简要了解一下Hibernate本身。Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程,通过将对象模型映射到数据库...
Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件,无需直接编写SQL,使得代码更加...
本篇文章将深入探讨Hibernate中的三种主要查询方式:HQL(Hibernate Query Language)、Criteria API以及原生SQL。 一、HQL(Hibernate Query Language) HQL是Hibernate提供的一种面向对象的查询语言,它类似于SQL...
在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...