Nearby lessons

17 of 19

Hibernate - Filters

📌 What You Will Learn
  • Understand Hibernate - Filters
  • See working code examples
  • Learn from common mistakes and Q&A

Learn Hibernate - Filters step by step — simple explanations, complete programs with their output, common beginner mistakes, and exam-style MCQs.

Filters — Employee.java

Note: Like HQL, we are able to provide custom properties over the Criteria object by using tghe following methods.

public void setFetchSize(int size) public void setFirstResult(int position) public void setMaxResults(int val) public void readOnly(boolean b) pbulic void cacheable(boolean b) ---- ------

Example:

Example01
JCode Cell
1 
2package com.durgasoft.pojo;
3 
4import javax.persistence.Column;
5import javax.persistence.Entity;
6import javax.persistence.Id;
7import javax.persistence.Table;
8 
9@Entity
10@Table(name="emp1")
11public class Employee {
12@Id
13@Column(name="ENO")
14private int eno;
15@Column(name="ENAME")
16private String ename;
17@Column(name="ESAL")
18private int esal;
19@Column(name="EADDR")
20private String eaddr;
21 
22public int getEno() {
23return eno;
24}
25public void setEno(int eno) {
26this.eno = eno;
27}
28public String getEname() {
29return ename;
30}
31public void setEname(String ename) {
32this.ename = ename;
33}
34public int getEsal() {
35return esal;
36}
37public void setEsal(int esal) {
38this.esal = esal;
39}
40public String getEaddr() {
41return eaddr;
42}
43public void setEaddr(String eaddr) {
44this.eaddr = eaddr;
45}
46 
47 
48}
49

Filters — hibernate.cfg.xml

Example02
JCode Cell
1 
2<?xml version="1.0" encoding="UTF-8"?>
3<!DOCTYPE hibernate-configuration PUBLIC
4"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
5"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
6<hibernate-configuration>
7<session-factory>
8 <property name="connection.driver_Class">oracle.jdbc.OracleDriver</property>
9 <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
10 <property name="connection.user">system</property>
11<property name="connection.password">durga</property>
12<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
13<property name="show_Sql">true</property>
14<mapping class="com.durgasoft.pojo.Employee"/>
15</session-factory>
16</hibernate-configuration>
17

Filters — Test.java

Example03
JCode Cell
1 
2package com.durgasoft.test;
3 
4import java.util.List;
5 
6import org.hibernate.Criteria;
7import org.hibernate.Session;
8import org.hibernate.SessionFactory;
9import org.hibernate.boot.registry.StandardServiceRegistry;
10import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
11import org.hibernate.cfg.Configuration;
12import org.hibernate.criterion.Criterion;
13import org.hibernate.criterion.Order;
14import org.hibernate.criterion.ProjectionList;
15import org.hibernate.criterion.Projections;
16import org.hibernate.criterion.Restrictions;
17 
18import com.durgasoft.pojo.Employee;
19 
20public class Test {
21 
22public static void main(String[] args) throws Exception{
23Configuration cfg = new Configuration();
24cfg.configure();
25StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
26builder = builder.applySettings(cfg.getProperties());
27StandardServiceRegistry registry = builder.build();
28SessionFactory sessionFactory = cfg.buildSessionFactory(registry);
29Session session = sessionFactory.openSession();
30 
31Criteria c = session.createCriteria(Employee.class);
32 
33Criterion c1 = Restrictions.ge("esal",6000);
34Criterion c2 = Restrictions.le("esal", 8000);
35c.add(c1);
36c.add(c2);
37 
38ProjectionList pl = Projections.projectionList();
39pl.add(Projections.property("eno"));
40pl.add(Projections.property("ename"));
41pl.add(Projections.property("esal"));
42pl.add(Projections.property("eaddr"));
43c.setProjection(pl);
44 
45Order order = Order.desc("ename");
46c.addOrder(order);
47 
48
📝 Key Takeaways
  • Key ideas of Hibernate - Filters explained simply
  • Ready-to-use code examples
  • Exam-style questions at the end