Newsletter |
Part 4 Hibernate Query Language, Using HQL Select Query
Hibernate » on Jul 8, 2011 { 23 Comments } By Sivateja
Let us see the program on HQL select command, which is going to cover complete object, partial object (More than one column), partial object (Single column)
here are the required files….
- Product.java (POJO class)
- Product.hbm.xml (Xml mapping file )
- hibernate.cfg.xml (Xml configuration file)
- ForOurLogic.java (java file to write our hibernate 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; } }
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>
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>
ForOurLogic.java
package str; import org.hibernate.*; import org.hibernate.cfg.*; import java.util.*; public class ForOurLogic { public static void main(String[] args) { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory = cfg.buildSessionFactory(); Session session = factory.openSession(); /* Selecting all objects(records) start_______________________ */ /* Query qry = session.createQuery("from Product p"); List l =qry.list(); System.out.println("Total Number Of Records : "+l.size()); Iterator it = l.iterator(); while(it.hasNext()) { Object o = (Object)it.next(); Product p = (Product)o; System.out.println("Product id : "+p.getProductId()); System.out.println("Product Name : "+p.getProName()); System.out.println("Product Price : "+p.getPrice()); System.out.println("----------------------"); } */ /* Selecting all objects(records) end________________________ */ /* Selecting partial objects(More than one object) start__________ */ /* Query qry = session.createQuery("select p.productId,p.proName from Product p"); List l =qry.list(); System.out.println("Total Number Of Records : "+l.size()); Iterator it = l.iterator(); while(it.hasNext()) { Object o[] = (Object[])it.next(); System.out.println("Product id : "+o[0]+ "Product Name : "+o[1]); System.out.println("----------------"); } */ /* Selecting partial objects(More than one object)end_____________ */ // Selecting single object start_____________ Query qry = session.createQuery("select p.productId from Product p"); List l =qry.list(); System.out.println("Total Number Of Records : "+l.size()); Iterator it = l.iterator(); while(it.hasNext()) { Integer i = (Integer)it.next(); System.out.println("Product id : "+i.intValue()); System.out.println("---------------------------"); } // selecting single object end____________ session.close(); factory.close(); } }
Notes regarding ForOurLogic.java:
- CASE 1: For selecting complete objects (all rows from the table), see from line number 18 – 40 [ just remove the comments ] and check the out put
- CASE 2: For selecting partial objects, i mean more than one object, see from line number 42 – 63 [ just remove the comments ] and check the out put
- CASE 3: For selecting partial objects, (selecting single row), see from line number 65 – 82 [ just remove the comments ] and check the out put
- See the following output just am giving for CASE 3, and remember in case1 i typecast into POJO class type, in case 2 typecast into objects array, in case 3 typecast into that value type__ (in the while loop..)
Eclipse Output 1
Eclipse Output 2
In the database
You Might Also Like
::. About the Author .:: | ||
Comments
23 Responses to “Part 4 Hibernate Query Language, Using HQL Select Query”
Sweet internet site , super design , really clean and use pleasant.
Hi
I have just one little question
What IDE should I have to run the Hibernate-excercices?
Amazing materials for both fresher and experience guys for clearing architecture and logics,maintains da simplicity also.And I think so,anyone can be rocking after go through this site………
@Luisa
Actually you can use any enterprise version, am using Eclipse helios
@Krishna Kumar
Thanks for your feedback, hope you will share java4s with your friends.
How to write a query to get the data from 4 different tables. All the tables are having relationships with one another.
greate tutorial,
Best Regards,
Hadi Ubaidillah
u r very great and very useful u r site.
how to update and delete list of records..plz help me
u r very very great and very useful u r site.
sir,
How can i retrieve a single column from db using HQL?
Sir,
in Notes regarding ForOurLogic.java:
CASE 3: For selecting partial objects, (selecting single row),
is not write. It should be “(selecting single column)” on the place of (“selecting single row”).
Hi excelent information about hibernet, I have one doubt here in the above example In partial object more than one column, we are getting values from object array based on index but these index values are coming from table column or HQL query.
for more simeple understand:
select p.name,p.id from Product p
but in my Product table columns are id next name
in this case if i call o[0] and o[1] it prints id and name or name and id ?
Excellent Tutorial…… Awesome…….
Nice tutorial to give a kick start on hibernate. Very helpful. Thank you !!
Nice tutorial. Very helpful.
What a wonderful explanation !!!
Guys you don’t believe this i have learnt hibernate in on of the famous institute in hyderabad. when i checked this site once i found that my sir who taught us hibernate totally copied from this site including , and …. also.
Awesome tutorial… 🙂
thnx i leart complete hibernate from this tutorial…
how to retrieve product from particular category.for example if i am clicking on electronic items then it will show me list of electronics items only
I got this error when i try to run hql select query project.thanks in advance
Getting Error in this package.
Error: Could not find or load main class
I got a specific value of primary key say like id I want retrieve remaining records of that id what's the code.