CRUD Operations in Hibernate
So far we have seen Joined class, table per hierarchy and Mappings (OneToOne, OneToMany, ManyToMany)

Now let us see the CRUD Operations (Create, Read, Update and Delete)

Structure:
structure

We are going to add 2 employee’s, Retrieve one employee, Update and delete one employee record

hibernate.cfg.xml

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibercrud</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property>
    <mapping class="com.javainfinite.pojo.employee"/>
  </session-factory>
</hibernate-configuration>

NewHibernateUtil.java

package com.javainfinite.pojo;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;

public class NewHibernateUtil {

    private static final SessionFactory sessionFactory;
    
    static {
        try {
            // Create the SessionFactory from standard (hibernate.cfg.xml) 
            // config file.
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Log the exception. 
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

employee.java

package com.javainfinite.pojo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Emp_Crud")
public class employee {
    
    @Id
    @GeneratedValue
    private int id;
    private String ename;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }
       
}

execution.java

package com.javainfinite.execute;

import com.javainfinite.pojo.NewHibernateUtil;
import com.javainfinite.pojo.employee;
import org.hibernate.Session;
import org.hibernate.Transaction;


public class execution {
    
    public static void main(String args[])
    {
        Session session=NewHibernateUtil.getSessionFactory().openSession();
        //Inserting Values
        try
        {
        Transaction trans=session.beginTransaction();
        employee emp=new employee();
        employee emp1=new employee();
        emp.setEname("Alpha");
        emp1.setEname("Beta");
        session.save(emp);
        session.save(emp1);
        trans.commit();
        session.close();
        }
        catch(Exception e)
        {
        
        }
        //Reading Values
        try
        {
        Transaction trans=session.beginTransaction();
        employee emp=(employee)session.get(employee.class, 2);
        System.out.println("Employee Name retrieved: "+emp.getEname());
        System.out.println("----------------------------------");
        trans.commit();
        session.close();
        }
        catch(Exception e)
        {
        
        }
        
        //Update employee records
        try
        {
        Transaction trans=session.beginTransaction();
        employee emp=(employee)session.get(employee.class, 1);
        emp.setEname("Delta");
        session.update(emp);
        trans.commit();
        
        }
        catch(Exception e)
        {
        
        }
        
        // Delete Record
        try
        {
        Transaction trans=session.beginTransaction();
        employee emp=(employee)session.get(employee.class, 1);
        session.delete(emp);
        trans.commit();
        
        }
        catch(Exception e)
        {
        
        }
    }
    
}

Output:
Inserting Values 

op1

op2

Reading Values
op3

Update Values
op4

op5

Delete Values
op6

op7

Note:
Run each operations separately (comment other operations) – Don’t run all the operations simultaneously.

 

By Sri

One thought on “CRUD Operations in Hibernate”

Leave a Reply

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