Query Interface in Hibernate

Program 1

package beans;

public class Product 
{
     private int prodid;
     private String prodname;
     private int prodqty;
     private int prodamount;
     private String prodtype;

    public Product() {
    }

    public int getProdid() {
        return prodid;
    }

    public void setProdid(int prodid) {
        this.prodid = prodid;
    }

    public String getProdname() {
        return prodname;
    }

    public void setProdname(String prodname) {
        this.prodname = prodname;
    }

    public int getProdqty() {
        return prodqty;
    }

    public void setProdqty(int prodqty) {
        this.prodqty = prodqty;
    }

    public int getProdamount() {
        return prodamount;
    }

    public void setProdamount(int prodamount) {
        this.prodamount = prodamount;
    }

    public String getProdtype() {
        return prodtype;
    }

    public void setProdtype(String prodtype) {
        this.prodtype = prodtype;
    }
     
}

Program 2

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="beans.Product" table="product" schema="productdataflair">
        <id name="prodid" column="pid"></id>
        <property name="prodname" column="pname"></property>
        <property name="prodqty" column="qty"></property>
        <property name="prodamount" column="amount"></property>
        <property name="prodtype" column="type"></property>
    </class>
</hibernate-mapping>

Program 3

<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
   <session-factory>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
        <property name="connection.url">jdbc:mysql://localhost/productdataflair</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root@data</property>
        <property name="connection.pool_size">10</property>
         <property name="hbm2ddl.auto">update</property>
        <property name="show_sql">true</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <mapping resource="resources/product.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Program 4

package view;

import beans.Product;
import java.util.*;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class TestMain1 
{
    public static void main(String[] args) 
    {
           Configuration cfg=new Configuration();
           cfg.configure("resources/hibernate.cfg.xml");
           SessionFactory sf=cfg.buildSessionFactory();
           Session session=sf.openSession();
           String hql;
           //hql="from Product where prodtype=:t";
           hql="from Product where prodtype=?";
           Query q=session.createQuery(hql);
         // q.setFirstResult(5);
         // q.setMaxResults(5);
          // q.setParameter("t", "Solid");
           q.setString(0,"Solid");
           List<Product>mylist=q.list();
           for(Product P:mylist)
           {
               System.out.print(P.getProdid());
               System.out.print(" " +P.getProdname());
               System.out.print(" " +P.getProdqty());
               System.out.print(" " +P.getProdamount());
               System.out.println(" " +P.getProdtype());
           }
         
           session.close();
          sf.close();
    }
    
}

Program 5

package view;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class TestMain2 
{
    public static void main(String[] args) 
    {
            Configuration cfg=new Configuration();
           cfg.configure("resources/hibernate.cfg.xml");
           SessionFactory sf=cfg.buildSessionFactory();
           Session session=sf.openSession();
           String hql;
          hql="update Product set prodamount=:amt where pid=:p";
           Query q;
          q=session.createQuery(hql);
          q.setParameter("amt", 25000);
          q.setParameter("p", 102);
          int n; 
          n=q.executeUpdate();
          session.beginTransaction().commit();
          System.out.println("Update Record: " + n);
          session.close();
          sf.close();
    }
    
}
courses

TechVidvan Team

TechVidvan Team provides high-quality content & courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.

Leave a Reply

Your email address will not be published. Required fields are marked *