Newsletter |
Example On Hibernate Criteria Query
Hibernate » on Jul 12, 2011 { 13 Comments } By Sivateja
Let us see an example program on hibernate criteria query,
files required….
- Product.java(POJO class)
- Product.hbm.xml
- hibernate.cfg.xml
- ForOurLogic.java (For writing our business logic)
Product.java
package str; public class Product{ private int productId; private String proName; private double price; public void setProductId(int productId) { this.productId = productId; } public int getProductId() { return productId; } public void setProName(String proName) { this.proName = proName; } public String getProName() { return proName; } public void setPrice(double price) { this.price = price; } public double getPrice() { return price; } }
Product.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="str.Product" table="products"> <id name="productId" column="pid" /> <property name="proName" column="pname" length="10"/> <property name="price"/> </class> </hibernate-mapping>
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver </property> <property name="connection.url">jdbc:oracle:thin:@www.java4s.com:1521:XE</property> <property name="connection.username">system</property> <property name="connection.password">admin</property> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <mapping resource="Product.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
ForOurLogic.java
package str; import java.util.Iterator; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; public class ForOurLogic { @SuppressWarnings("unchecked") public static void main(String[] args) { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory = cfg.buildSessionFactory(); Session session = factory.openSession(); Criteria crit = session.createCriteria(Product.class); Criterion cn = Restrictions.gt("price",new Double(17000)); crit.add(cn); List l=crit.list(); System.out.println("List total size..._"+l.size()); Iterator it=l.iterator(); while(it.hasNext()) { Product p=(Product)it.next(); System.out.println(p.getProductId()); System.out.println(p.getProName()); System.out.println(p.getPrice()); System.out.println("-----------------"); } session.close(); factory.close(); } }
Note:
- In line number 25, created object of Criteria
- In line number 26, created Criterion interface object by using Restrictions class
- In line number 27, added criterion interface object to criteria object
- In line number 28, executed criteria query by calling list() method in criteria
- See line number 34, in this case we must typecast into our POJO class type only
Actually the internal concept is, once we called the list() method in criteria (line number 28) all objects (records) will come and stores in list object, from there we used to take iterate then typecast into our POJO class type bla bla.
You Might Also Like
::. About the Author .:: | ||
Comments
13 Responses to “Example On Hibernate Criteria Query”
Dear Java4s Team,
Can U explain the importance of
@SuppressWarnings(“unchecked”) in ForOurLogic.java
@Mohit
Its nothing..!
Eclipse used to show some warnings right.., with @SuppressWarnings() we can inform to the eclipse not to show any warnings. This is optional.
this is venkat. i am a java developer.very much thanq’s to java4s team. this web site like class room discussion.
please send struts-hibernate projects .
my mail id is : java24.code@gmail.com
Nice article… keep posting….
hai to java4s team
this site is helping a lot for me
your articles are very good
please send struts examples
my mail id is: u.balu99@gmail.com
Hi java4s,
I Like This site very which is useful for freshers and experienced as well.
In addition to the topics, Please add the advantages and disadvantages over the other things, performance etc., like, in this article why we should go for criteria other than HQL. which is good in performance. what to choose in a particular situation…
Thanks in advance.
This Java4s is very useful site for developers or java beginners. Having lot of information with detailed explanation.
Thanks to java4s team! Keep up to add more contents.
Criterion cn = Restrictions.gt(“price”,new Double(17000));
can you explain above line in more detail?
what is gt()?
Hi Siva Teja,
The content you posted in this site regarding hibernate is very nice tutorial.
Please add annotations based concepts then that can be very useful for learners.
Regards
Kalluri
What is the purpose of gt while creating criterion reference. can you explain. I think there should be criteria object and not gt().
what is the difference between criteria and criterion in hibernate
Hi Sivateja,
Thank you for providing this article,
Can you please explain, how to fetch data two different tables by using "Criteria API".
Please give one example.
Thanks,
Shyam.
Use for loop instead of While loop please give me reply