0 0

hibernate 中Criteria的示例查询问题 5

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());

上述问题得到了解决,但是没有从根本上解除:这个默认值从哪里来的,为什么没有定义的情况下,就自动出现...
2012年2月25日 10:31

3个答案 按时间排序 按投票排序

0 0

把你的FilmInfo代码贴出来看看

2012年2月29日 15:35
0 0

看看你的HBM.XML配置文件,
估计你是把TICKETPRICE映射成int基本类型了
如果是类似这样的话,int是必须有值的,默认为0
你把他映射成integer试试

2012年2月25日 20:00
0 0

You should check Example.create(filmInfo)

2012年2月25日 12:28

相关推荐

    hibernateCriteria查询

    在Hibernate框架中,Criteria查询是除HQL之外的另一种常用查询方式。 #### 二、Criteria 接口 `org.hibernate.Criteria` 接口代表了针对某个特定持久化类的查询。在Hibernate中,可以通过`Session` 对象的 `...

    Hibernate-Criteria 模糊查询

    在Hibernate的Criteria API中,模糊查询主要通过`Restrictions.like()`方法来实现。该方法接受两个参数:字段名和包含通配符的字符串。 ##### 示例1:单字段模糊查询 ```java // 查找名字中包含“Erica”的用户 ...

    Hibernate-Criteria_模糊查询

    在这个示例中,`User`是一个实体类,`username`是其一个属性。通过`Restrictions.like()`方法,实现了对`username`属性的模糊查询,即查找包含`keyword`的所有用户记录。 ### 总结 通过上述介绍,我们可以看到,...

    Hibernate中Criteria的用法

    Hibernate 中 Criteria 的用法是 Hibernate 框架中的一种查询机制,它提供了灵活的查询方式,可以根据不同的条件进行查询。Criteria 查询机制主要包括 QBE(Query By Example)、QBC(Query By Criteria)和 HQL...

    Hibernate中,利用Criteria查询容器实现sql的写法

    在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以对象化的方式构建SQL语句,而无需直接编写SQL代码。本篇将详细讲解如何在Hibernate中利用Criteria查询来实现类似SQL...

    Hibernate查询方式代码示例

    本教程将深入探讨Hibernate 3.x版本中的查询方式,包括基本查询、HQL(Hibernate Query Language)以及Criteria API,帮助开发者更高效地处理数据库交互。 1. **基本查询(Criteria API)** Hibernate Criteria ...

    Hibernate_使用示例代码

    通过学习这些示例,开发者可以更好地理解和掌握如何在实际项目中运用Hibernate进行数据库操作。 **标签:“源码”,“工具”** **详细知识点:** 1. **Hibernate简介**:Hibernate是一个开源的对象关系映射(ORM...

    Hibernate Criteria 排序的問題

    ### Hibernate Criteria 排序问题详解 #### 一、前言 在使用Hibernate进行数据库操作时,经常需要对查询结果进行排序处理。对于简单的查询场景,使用HQL(Hibernate Query Language)即可轻松实现排序功能;但对于...

    hibernate完整小示例

    6. **查询**: Hibernate 提供了 Criteria API 和 HQL(Hibernate Query Language)进行查询。例如,使用HQL获取所有用户: ```java List&lt;User&gt; users = session.createQuery("from User").list(); ``` ### 核心...

    关联映射hibernate的criteria的用法

    其中,Criteria API是Hibernate提供的一个动态查询工具,它允许开发者以面向对象的方式来构建SQL查询。本文将深入探讨Criteria API的使用方法,并通过源码分析来帮助初学者快速掌握这一功能。 ### 1. Criteria API...

    Hibernate中Criteria的完整用法

    在Hibernate框架中,`Criteria`是一种非常实用且灵活的对象查询方式。它允许开发者通过构造一个`Criteria`对象来定义复杂的查询逻辑,从而实现对数据库中数据的高效检索。本文将详细介绍`Criteria`的基本概念、常用...

    Hibernate中Criteria的完整用法.docx

    本文将详细介绍Hibernate中的Criteria API及其子类DetachedCriteria的使用方法,以及如何利用它们进行高效的数据查询。 #### 二、Criteria与DetachedCriteria ##### 1. Criteria - **定义**:`Criteria` 是...

    Hibernate常用操作示例

    Hibernate常用操作示例,包含详细注释说明,数据库初始化文件。使用和学习请参考:http://blog.csdn.net/daijin888888/article/details/51692942

    hibernate criteria 分组 排序 关联

    在Hibernate中,使用`Criteria`进行查询时,可以通过添加排序条件来对结果集进行排序。`Criteria`提供了一个非常灵活的方式来实现这一点。 **示例代码**: ```java Criteria criteria = session.createCriteria...

    Hibernate的Criteria用法

    要开始使用Criteria,你需要在Hibernate的Session中调用`createCriteria()`方法,传入你想查询的实体类的Class对象。例如,如果你要查询Person实体,你会这样做: ```java Criteria c = session.createCriteria...

    Hibernate中的Criteria的认识

    在深入探讨Hibernate框架中Criteria API的使用之前,我们先简要了解一下Hibernate本身。Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程,通过将对象模型映射到数据库...

    Hibernate Criteria用法大全.docx

    Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件,无需直接编写SQL,使得代码更加...

    Hibernate中的查询:HQL、Criteria、原生SQl

    本篇文章将深入探讨Hibernate中的三种主要查询方式:HQL(Hibernate Query Language)、Criteria API以及原生SQL。 一、HQL(Hibernate Query Language) HQL是Hibernate提供的一种面向对象的查询语言,它类似于SQL...

    hibernate多表联合查询

    在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...

Global site tag (gtag.js) - Google Analytics