Java, .NET, PHP, PYTHON, ANGULAR, ML, Data Science, Testing, CI Tutorials in Easy Languages.

"Best Software Training, Internship, Project Development center of Indore India, Helpline 780506-3968"

 Hibernate Annotation:-

Annotation is used to change the behavior of a class, method, and data member of the class using a predefined attribute.

Without using the hibernate mapping file we can map the database table using an annotation class.

The annotation will be defined under the POJO Class.


@Table:-  this annotation is used to map the database table from class

@Column:-  this annotation is used to map the database table column

@id:-   it is used to define the primary key column of the table


@Entity:-  It is used to provide annotation to implement database schema



if we use the Annotation Mapping class then we will define the mapping class under the hibernate.cfg.xml file


<mapping class="packagename.Pojoclassname" />



All hibernate annotations exist under javax.persistent package. means javax.persistence jar file should be present in your project lib folder.


Step First:-

Create Pojo class with annotation

package scs;

import javax.persistence.*;

@Entity
@Table(name="tbl_student")
public class Student {
@Id
private int rno;
@Column
private String sname;
@Column
private String branch;
@Column
private int fees;
public int getRno() {
return rno;
}
public void setRno(int rno) {
this.rno = rno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getBranch() {
return branch;
}
public void setBranch(String branch) {
this.branch = branch;
}
public int getFees() {
return fees;
}
public void setFees(int fees) {
this.fees = fees;
}


}


Step2nd:-

Create hibernate.cfg.xml file and add POJO class as a mapping file reference

<!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">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/java56db</property>
<property name="connection.username">root</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
 <mapping class="scs.Student"></mapping>
</session-factory>
</hibernate-configuration>

Step4th:-

Create Datahelper class:-

package dao;
import java.util.List;


import org.hibernate.*;
import org.hibernate.cfg.*;
public class DataHelper {
static SessionFactory sf ;
static Session s ;
public static void connection()
{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
sf= cfg.buildSessionFactory();
s = sf.openSession();
}
public static List dqlOperation(String query)
{
Query q = s.createQuery(query);
return q.list();
}
public static void dmlOperation(Object c)
{
Transaction tx = s.beginTransaction();
s.save(c);
    tx.commit();
   
}
public static void deleteOperation(Object c)
{
Transaction tx = s.beginTransaction();
s.delete(c);
    tx.commit();
   
}
public static Object findOperation(Class c,int id)
{
return s.load(c,id);
}
public static void closeConn()
{
s.close();
sf.close();
}
   
}


Step3rd:-

Write the code to Insert the record

package scs;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.*;

import dao.DataHelper;

public class InsertRecord {

public static void main(String[] args) {
DataHelper.connection();
Student stu = new Student();
stu.setRno(1007);
stu.setSname("XYZ");
stu.setBranch("IT");
stu.setFees(350000);
DataHelper.dmlOperation(stu);
DataHelper.closeConn();

}

}










Post a Comment

POST Answer of Questions and ASK to Doubt

Previous Post Next Post