aspose file tools*
The moose likes Object Relational Mapping and the fly likes Problem in Query By Example (Hibernate) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Problem in Query By Example (Hibernate)" Watch "Problem in Query By Example (Hibernate)" New topic
Author

Problem in Query By Example (Hibernate)

Lakshmi Natarajan
Greenhorn

Joined: Jun 30, 2009
Posts: 5
Hi
I am using hibernate3 in my application. When executing the below code
Product exampleProduct=new Product();
exampleProduct.setPrice(22);
Example example=Example.create(exampleProduct);
Criteria criteria=session.createCriteria(Product.class);
criteria.add( example );
List results = criteria.list();

it works fine. Lists all the objects with the price is 22. when modified the code as below

Product exampleProduct=new Product();
exampleProduct.setName("Product 2");

Example example=Example.create(exampleProduct);
Criteria criteria=session.createCriteria(Product.class);
criteria.add( example );
List results = criteria.list();

returns the empty list but the database has few products with the name "Product 2". When I checked the query generated,
Hibernate: select this_.id as id0_0_, this_.name1 as name2_0_0_, this_.description as descript3_0_0_, this_.price as price0_0_, this_.supplierId as supplierId0_0_ from product2 this_ where (this_.name1=? and this_.price=?)

the where condition sets parameter value for price. I have executed this code with different properties of the product object but the generated query always adds price parameter value set and returns empty list.

Is it a bug and is it overcomed in the latest version of hibernate or do I need to set any property for proper working of this code..
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968
    
    1

There are settings for not ignoring null or not ignoring zeros. Maybe it's seeing a zero and doing a query based on it?





Using the Criteria API from Hibernate: Tutorial

-Cameron McKenzie
Rahul Babbar
Ranch Hand

Joined: Jun 28, 2008
Posts: 210
Can you post your hbm and the Hibernate POJO for Product.

If you have defined the "price" field in "Product" as "int", you should change it so that it is an "Integer" and then test the criteria query.


Rahul Babbar
Lakshmi Natarajan
Greenhorn

Joined: Jun 30, 2009
Posts: 5
Thanks Cameron and Rahul. Both the solutions have worked out for the query.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Problem in Query By Example (Hibernate)