Understanding The Hibernate Application
Understanding The Hibernate 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;
nc.setFirstname("Virat");
nc.setMiddlename("No Name");
nc.setLastname("Kohli");
}
/*
*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;
*/
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;
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>
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