Hibernate Basics

parent c8e22ab9
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
......@@ -6,6 +6,8 @@ import org.example.model.Student;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import java.util.ArrayList;
import java.util.List;
/**
* Hello world!
......@@ -16,28 +18,92 @@ public class App
{
public static void main( String[] args )
{
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("org.hibernate.tutorial.jpa");
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("student");
Student student = new Student();
student.setId(15);
student.setName("naveeds");
student.setRollNo(114);
student.setAge(24);
Course course = new Course();
course.setId(6);
course.setName("Arts");
EntityManager entityManager = entityManagerFactory.createEntityManager();
// transactions begins
entityManager.getTransaction().begin();
// Create student and course objects and add them to db.
entityManager.persist(student);
entityManager.persist(course);
// Course course = new Course();
// course.setId(3);
// course.setName("Art");
// entityManager.persist(course); // use persist() method to add to db
entityManager.getTransaction().commit();
// Student student = new Student();
// student.setId(15);
// student.setName("naveeds");
// student.setRollNo(114);
// student.setAge(24);
// Read data from db
// Course course = entityManager.find(Course.class, 1); // find() to find tuple by id
// System.out.println(course.getName());
// entityManager.persist(student);
// Delete using id
// Course course = entityManager.find(Course.class, 2);
// entityManager.remove(course); // remove() after finding the object.
// Student student = entityManager.find(Student.class, 3);
// entityManager.remove(student);
//
// Course english = entityManager.find(Course.class, 1);
// Course math = entityManager.find(Course.class, 2);
// Course art = entityManager.find(Course.class, 3);
//
//
// Student student = new Student();
// List<Course> courseList = new ArrayList<Course>();
//
// student.setName("Jerry");
// student.setAge(31);
// student.setRollNo(13);
//
// courseList.add(math);
// courseList.add(english);
// student.setCourse(courseList);
// get list of courses for a particular student.
Student findStudent = entityManager.find(Student.class, 1);
List<Course> findCourseList = findStudent.getCourse();
System.out.println(findStudent);
System.out.println(findCourseList);
// Student student1 = new Student();
// student1.setName("Matt");
// student1.setAge(22);
// student1.setRollNo(12);
// student1.getCourse().add(math);
// student1.getCourse().add(art);
//
// entityManager.persist(student);
// entityManager.persist(student1);
// // Update student
// Student student = entityManager.find(Student.class, 1);
// List<Course> courseList = new ArrayList<>();
// courseList.add(math);
// courseList.add(english);
// courseList.add(art);
// student.setCourse(courseList);
//
// entityManager.merge(student);
// all the operations are performed here.
entityManager.getTransaction().commit();
entityManager.close();
System.exit(0);
}
}
......@@ -2,6 +2,9 @@ package org.example.model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import java.util.ArrayList;
import java.util.List;
@Entity
public class Course {
......@@ -27,6 +30,6 @@ public class Course {
@Override
public String toString() {
return "id: " + getId() + "name: " + getName();
return "id: " + getId() + " name: " + getName();
}
}
package org.example.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
import java.util.ArrayList;
import java.util.List;
@Entity
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String name;
private int rollNo;
private int age;
@JoinTable
@ManyToMany()
private List<Course> course = new ArrayList<>();
public List<Course> getCourse() {
return course;
}
public void setCourse(List<Course> course) {
this.course = course;
}
public int getId() {
return id;
......@@ -43,11 +60,10 @@ public class Student {
this.age = age;
}
private int rollNo;
private int age;
@Override
public String toString() {
return "id: " + getId() + "name: " + getName() + "rollno: " + getRollNo() + "age: " + getAge();
return "id: " + getId() + " name: " + getName() + " rollno: " + getRollNo() + " age: " + getAge();
}
}
package org.example.services;
public class CourseService {
}
package org.example.services;
import org.example.model.Course;
import org.example.model.Student;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class StudentService {
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("org.hibernate.tutorial.jpa");
public Student createStudent(String name, int rollNo, int age) {
Student student = new Student();
student.setName(name);
student.setRollNo(rollNo);
student.setAge(age);
return student;
}
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
entityManager.persist(student);
entityManager.persist(course);
entityManager.getTransaction().commit();
entityManager.close();
System.exit(0);
}
......@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="org.hibernate.tutorial.jpa">
<persistence-unit name="student">
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
......
......@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="org.hibernate.tutorial.jpa">
<persistence-unit name="student">
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment