0% found this document useful (0 votes)
17 views

Understanding The Hibernate Application

Uploaded by

SakethBharadwaj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Understanding The Hibernate Application

Uploaded by

SakethBharadwaj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Understanding the Hibernate Application

Before Running the Application

After running the application

Java_ Page 1
Code for creating and inserting the data
Student.java
package com.hibapp.demo.HibDemo;
import javax.persistence.Entity;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="student_new")//new table creation
public class Student
{
//The entity has no primary key attribute defined
//solution
@Id
@Column(name = "sno", unique = true, nullable = false)
private int sno;
private String sname;
private double sper;
public int getSno()
{
return sno;
}
public void setSno(int sno)
{
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public double getSper()
{
return sper;
}
public void setSper(double sper)
{
this.sper = sper;
}
/*
public NameClass getNclass()
{
return nameb;
}
public void setNclass(NameClass nameb)
{
this.nameb = nameb;
}

Java_ Page 2
}
//private NameClass nameb;//NameClass Variable
*/

StudentPage.java
package com.hibapp.demo.HibDemo;
//import javax.persistence.Transient;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class StudentPage


{
public static void main(String[] args)
{
Student s = new Student();
s.setSno(1015);
s.setSname("Yash");
s.setSper(56.28);
/*
NameClass nc = new NameClass();

nc.setFirstname("Virat");
nc.setMiddlename("No Name");
nc.setLastname("Kohli");

Student s = new Student();


s.setSno(1015);
s.setNclass(nc);
s.setSper(56.28);
*/

Configuration cof = new Configuration().configure().addAnnotatedClass(Student.class);


ServiceRegistry reg = new ServiceRegistryBuilder().applySettings(cof.getProperties()).buildServiceRegistry();
SessionFactory sf = cof.buildSessionFactory(reg);
Session ss = sf.openSession();
Transaction t = ss.beginTransaction();
ss.save(s);
t.commit();

}
/*
*10:46:56,550 INFO SchemaUpdate:240 - HHH000232: Schema update complete
10:46:56,635 DEBUG SQL:104 - insert into Student_New (firstname, lastname, middlename, sper, sno) values (?, ?, ?, ?, ?)

@Transient
private String middlename;

When we use Transient


10:56:37,444 DEBUG SQL:104 - insert into Student_New (firstname, lastname, sper, sno) values (?, ?, ?, ?)

*/

Employee.java
package com.hibapp.demo.HibDemo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
//Unknown entity: com.hibapp.demo.HibDemo.Employee
@Entity
@Table(name="emp_tab")
public class Employee
{
@Id
@Column(name = "sno", unique = true, nullable = false)
private int eno;
private String ename;
private double esal;
public int getEno() {

Java_ Page 3
public int getEno() {
return eno;
}
public void setEno(int eno) {
this.eno = eno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public double getEsal() {
return esal;
}
public void setEsal(double esal) {
this.esal = esal;
}

EmployeePage.java
package com.hibapp.demo.HibDemo;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class EmployeePage {

public static void main(String[] args)


{
Employee e = new Employee();
e.setEno(1018);
e.setEname("John");
e.setEsal(564178.28);

Configuration cof = new Configuration().configure().addAnnotatedClass(Employee.class);


ServiceRegistry reg = new ServiceRegistryBuilder().applySettings(cof.getProperties()).buildServiceRegistry();
SessionFactory sf = cof.buildSessionFactory(reg);
Session ss = sf.openSession();
Transaction t = ss.beginTransaction();
ss.save(e);
t.commit();
}

hibernate.cfg.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate -configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/hibdb</property>
<propertyname="hibernate.connection.username">root</property>
<propertyname="hibernate.connection.password">123456</property>
<propertyname="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<propertyname="hbm2ddl.auto">update</property>
<propertyname="showsql">true</property>
</session-factory>
</hibernate-configuration>

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate -core -->


<dependency>

Java_ Page 4
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.2.5.Final</version>
<type>pom</type>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql -connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>

Data Retrieval : For data retrieval we need to override toString() of the Object class in our Bean fle or POJO class

Employee.java
We have added this code

@Override
public String toString()
{
return "Employee No:"+eno+" Name : "+ename+"Sal :"+esal;
}

EmployeePage.java
We have added this code
e = (Employee)ss.get(Employee.class,1018);
ss.save(e);
t.commit();
System.out.println(e);
}
}
/*
20:28:09,873 DEBUG SQL:104 - select employee0_.sno as sno1_0_0_, employee0_.ename as ename2_0_0_, employee0_.esal as esal3_0_0_ from emp_tab
employee0_ where employee0_.sno=?
Employee No:1018 Name : JohnSal :564178.28
*/

Java_ Page 5
Java_ Page 6

You might also like