Hibernate Criteria Expression (or)
In this section, you will learn to use the "or" method. This is one of the most
important method that returns the disjunction of the two expressions. You
can also build the nested expressions using 'and' and 'or'.
Expressions: The
Hibernate Criteria API supports a rich set of comparison operators. Some
standard SQL operators are =, <, ?, >, ?.
Expression or(Criterion LHS, Criterion RHS): This method returns the disjuction of two expressions. Any given condition is 'true' then it executes the query. In this tutorial, "or" is used :
Expression.or(Expression.eq("lngInsuranceId", new Long(3), Expression.eq("IngInsuranceId", new Long(6))).
Table Name: insurance
ID | insurance_name | invested_amount | investement_date |
2 | Life Insurance | 25000 | 0000-00-00 00:00:00 |
1 | Givan Dhara | 20000 | 2007-07-30 17:29:05 |
3 | Life Insurance | 500 | 2005-10-15 00:00:00 |
4 | Car Insurance | 2500 | 2005-01-01 00:00:00 |
5 | Dental Insurance | 500 | 2004-01-01 00:00:00 |
6 | Life Insurance | 900 | 2003-01-01 00:00:00 |
7 | Travel Insurance | 2000 | 2005-02-02 00:00:00 |
Here is the code of the class using "or" Expression :
package roseindia.tutorial.hibernate;
|
Output:
log4j:WARN No appenders
could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly. Hibernate: select this_.ID as ID0_0_, this_.insurance_name as insurance2_0_0_, this_.invested_amount as invested3_0_0_, this_.investement_date as investem4_0_0_ from insurance this_ where (this_.ID=? or this_.ID=?) Insurance Id: 3 Insurance Name: Life Insurance Invested Amount: 500 Investement Date:2005-10-15 00:00:00.0 Insurance Id: 6 Insurance Name: Life Insurance Invested Amount: 900 Investement Date:2003-01-01 00:00:00.0 |