
Quick Contact
Java Tutorial
- What is Java?
- History of Java
- Hello Java Program
- Features of Java
- Basic Syntax
- Java Setup
- Data Types in Java
- Java Variables
- Operators in Java
- JVM
- Java If-else Statement
- Switch Case Statement
- Java Loops
- Do-While Loop
- Java While Loop
- Continue Statement
- Break Statement in Java
- Constructors in Java
- Oops Concept in Java
- Features of OOPs
- Inheritance
- Exeception handeling
- Aggregation (HAS-A relationship) in Java
- Method Overriding in Java
- Method Overloading
- Java Static Keyword
- Java This Keyword
- Java Final Keyword
- Polymorphism
- Static Binding and Dynamic Binding
- Abstract class in Java
- Access Modifiers in Java
- Difference between abstract class and interface
- Interface in Java
- Garbage Collection in Java
- Java Package
- Encapsulation
- Serialization and Deserialization in Java
- Java Inner Classes
- Java Applets
- Multithreading in Java
- Thread Priorities in Java
- Thread Creation
- Inter Thread Communication
- Wrapper Classes in Java
- Java Input Output
- Java AWT Introduction
- Java Layout Manager
- Java Layout Policy
- Java AWT Events
- Collection Framework
- Collection Framework List Interface
- Swing in Java
- Swing Utility Classes
- Swing Layout Managers
- Java JDBC
- Hibernate Framework Overview – Architecture and Basics
Springboot
- Spring Environment Setup
- Spring Boot CRUD REST API Project using IntelliJ IDEA | Postman | MySQL
- Dockerizing Spring Boot Application | Spring Boot Docker Tutorial
- spring-boot-restapidocumentation with swagger
- Spring Boot HttpClient Overview
- Apache HttpClient POST HTTP Request Example
- Apache HttpClient PUT HTTP Request Example
- Apache HttpClient DELETE HTTP Request Example
- Apache HttpClient HTML Form POST Request Example
- Spring Boot JSP Exampl
- Deploying Spring Boot WAR file with JSP to Tomcat
- Spring Boot Annotations
- Spring Core Annotations
- Spring MVC Annotations with Examples
- Spring Scheduling Annotations
- Spring - Java-based Container Configuration
- Spring Java Based Configuration Example
Hibernate
- Hibernate 5 hello world
- Hibernate- One to One Unidirectional Mapping Annotation Example
- Hibernate - Batch Processing
- Hibernate - Interceptors
- Hibernate 5 - Create, Read, Update and Delete (CRUD) Operations Example
- Hibernate Transaction Management
- Hibernate One to Many Unidirectional Mapping Example
- Hibernate One to Many Bidirectional Mapping Example
- Hibernate Many to Many Annotation Mapping Example
- Hibernate Primary KeyJoin Column
- Hibernate First Level Cache with Example
- Hibernate XML Configuration Example with Maven + Eclipse + MySQL Database
- Hibernate Java Configuration Example
- JPA 2 with Hibernate 5 Bootstrapping Example
- JPA and Hibernate Cascade Types
- Hibernate/JPA - Primary Key Generation
- Hibernate 5 - Enum Type Mapping Example
- Hibernate Component Mapping
- Hibernate Object States – Transient,Persistent and Detached
- Hibernate 5 - Save an Entity Example
- Hibernate 5 - Persist an Entity Example
- Hibernate 5 - saveOrUpdate() Method Example
- Hibernate 5 - get(), load() and byId() Method Examples
- Hibernate 5 - merge() Example
- Hibernate 5 - Delete or Remove an Entity Example
- Hibernate 5 - load() Method Example
- Hibernate Session Interface Methods
- Hibernate Session.clear() Method Example
- Introduction Of Java strutes to Architecture
- Struts 2 - Architecture
- Struts 2 - Configuration Files
- Struts 2 - Actions
- Struts 2 - Interceptors
- Struts 2 - Results & Result Types
- Struts 2 - Value Stack/OGNL
- Struts 2 - File Uploading
- Struts 2 - Database Access
- Struts 2 - Validations Framework
JAVA FX
- JavaFX Tutorial
- Introduction to JavaFX Pane
- JavaFX Popup
- JavaFX group
- JavaFX Controller
- JavaFX Gradient Color
- JavaFXAnchorPane
- JavaFXTabPane
- JavaFX Scene
- JavaFX Stage
- JavaFXWebView
- JavaFX Timeline
- JavaFX Timer
- JavaFX Image
- JavaFX Background
- JavaFX dialog
- JavaFX Font
- JavaFXTextArea
- JavaFXObservableList
- JavaFX GUI
- JavaFX FXML
- JavaFXEventHandler
- JavaFXGradle
- JavafxScrollpane
- JavaFXAPI
JPA 2 with Hibernate 5 Bootstrapping Example
The Java Persistence API (a.k.a. JPA) is a Java specification for managing, persisting, and accessing data between objects and relational databases. Hibernate is an ORM (Object Relational Mapping) tool that implements JPA specification.
Add jar Dependencies to pom.xml
< project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> < modelVersion>4.0.0< /modelVersion> < parent> < groupId>net.ducatindia.hibernate< /groupId> < artifactId>hibernate-tutorial< /artifactId> < version>0.0.1-SNAPSHOT< /version> < /parent> < artifactId>hibernate-jpa-config-example< /artifactId> < properties> < project.build.sourceEncoding>UTF-8< /project.build.sourceEncoding> < /properties> < dependencies> < !-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> < dependency> < groupId>mysql< /groupId> < artifactId>mysql-connector-java< /artifactId> < version>8.0.13< /version> < /dependency> < !-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> < dependency> < groupId>org.hibernate< /groupId> < artifactId>hibernate-core< /artifactId> < version>5.3.7.Final< /version> < /dependency> < /dependencies> < build> < sourceDirectory>src/main/java< /sourceDirectory> < plugins> < plugin> < artifactId>maven-compiler-plugin< /artifactId> < version>3.5.1< /version> < configuration> < source>1.8< /source> < target>1.8< /target> < /configuration> < /plugin> < /plugins> < /build> < /project>
Creating the JPA Entity Class(Persistent class)
A simple Persistent class should follow some rules:
-
A no-arg constructor:
It is recommended that you have a default constructor at least package visibility so that hibernate can create the instance of the Persistent class by newInstance() method.
-
Provide an identifier property:
It is better to assign an attribute as id. This attribute behaves as a primary key in a database.
-
Declare getter and setter methods:
The Hibernate recognizes the method by getter and setter method names by default.
-
Prefer non-final class:
Hibernate uses the concept of proxies, that depends on the persistent class. The application programmer will not be able to use proxies for lazy association fetching.
Create a Student entity class under net.javaguides.hibernate.entity package as follows.
packagenet.ducatindia.hibernate.entity; importjavax.persistence.Column; importjavax.persistence.Entity; importjavax.persistence.GeneratedValue; importjavax.persistence.GenerationType; importjavax.persistence.Id; importjavax.persistence.Table; @Entity @Table(name="student") publicclassStudent { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") privateint id; @Column(name="first_name") privateStringfirstName; @Column(name="last_name") privateStringlastName; @Column(name="email") privateString email; publicStudent() { } publicStudent(StringfirstName, StringlastName, Stringemail) { this.firstName=firstName; this.lastName=lastName; this.email= email; } publicintgetId() { return id; } publicvoidsetId(intid) { this.id = id; } publicStringgetFirstName() { returnfirstName; } publicvoidsetFirstName(StringfirstName) { this.firstName=firstName; } publicStringgetLastName() { returnlastName; } publicvoidsetLastName(StringlastName) { this.lastName=lastName; } publicStringgetEmail() { return email; } publicvoidsetEmail(Stringemail) { this.email= email; } @Override publicStringtoString() { return"Student [id="+ id +", firstName="+firstName+", lastName="+lastName+", email="+ email +"]"; } }
Create a JPA configuration file
Let’s create an XML file named as persistence.xml under src/main/java/META-INF folder and write the following code in it.
< persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" 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" version="2.1"> < persistence-unitname="PERSISTENCE"> < description> Hibernate JPA Configuration Example< /description> < provider>org.hibernate.jpa.HibernatePersistenceProvider< /provider> < class>net.ducatindia.hibernate.entity.Student< /class> < properties> < propertyname="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" /> < propertyname="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hibernate_db" /> < propertyname="javax.persistence.jdbc.user"value="root" /> < propertyname="javax.persistence.jdbc.password" value="root" /> < propertyname="hibernate.show_sql"value="true" /> < propertyname="hibernate.hbm2ddl.auto"value="create-drop" /> < /properties> < /persistence-unit> < /persistence>
Create a JPA helper class
Let’s create a helper class to bootstrap a JPA EntityManagerFactory.
packagenet.ducatindia.hibernate.util; importjavax.persistence.EntityManagerFactory; importjavax.persistence.Persistence; publicclassJPAUtil { privatestaticfinalStringPERSISTENCE_UNIT_NAME="PERSISTENCE"; privatestaticEntityManagerFactory factory; publicstaticEntityManagerFactorygetEntityManagerFactory() { if (factory ==null) { factory=Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); } return factory; } publicstaticvoidshutdown() { if (factory !=null) { factory.close(); } } }
Create a main class and run an application
Here is the main class to persist student object using the EntityManager#persist method.
MainApp.java
packagenet.ducatindia.hibernate; importjavax.persistence.EntityManager; importnet.ducatindia.hibernate.entity.Student; importnet.ducatindia.hibernate.util.JPAUtil; publicclassApp { publicstaticvoidmain(String[] args) { EntityManagerentityManager=JPAUtil.getEntityManagerFactory().createEntityManager(); entityManager.getTransaction().begin(); Studentstudent=newStudent("rajan", "sharma", "rajansharma@ducatindia.com"); entityManager.persist(student); entityManager.getTransaction().commit(); entityManager.close(); JPAUtil.shutdown(); } }
Apply now for Advanced Java Training Course