
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
Hibernate 5 – load() Method Example
In this page we will show you how to use Session.load() method to retrieve an entity from the database. In this article, we will create a simple Hibernate application using Java configuration without using hibernate.cfg.xml to demonstrates the usage of Session.load() method.
Apart from using Session.load(), we can retrieve entity using Session.get() and Session.byId() methods.
Overloaded load() methods
publicObject load(ClasstheClass, Serializable id) throws HibernateException publicObject load(StringentityName, Serializable id) throws HibernateException publicvoid load(Objectobject, Serializable id) throws HibernateException
- The first method needs the class type which you would like to load along with a unique ID.
- The second method asks for entityName directly and unique ID. Both methods return the populated entity object as return value which you will cast to the desired type.
- Third takes an object as an argument. The object should be of the same class as the object you would like loaded, and it should be empty. Hibernate will populate that object with the object you requested.
The other load() methods available through hibernate session take a lock mode as an argument too. The lock mode specifies whether Hibernate should look into the cache for the object and which database lock level Hibernate should use for the row (or rows) of data that represent this object.
The following snippet demonstrates all flavors of load() methods: Note that the comments are self-descriptive.
packagenet.ducatindia.hibernate; importorg.hibernate.Session; importnet.ducatindia.hibernate.entity.Student; importnet.ducatindia.hibernate.util.HibernateUtil; publicclassApp { publicstaticvoidmain(String[] args) { IntegerstudentId=1; /************************** Save Entity ***************************/ SessionsessionOne=HibernateUtil.getSessionFactory().openSession(); sessionOne.beginTransaction(); // create new student object Studentstudent=newStudent("rajan", "Sharma", "rajansharma@ducatindia.com"); // save student object to database sessionOne.save(student); sessionOne.getTransaction().commit(); /*******************************************************************/ //Let's open a new session to test load() methods SessionsessionTwo=HibernateUtil.getSessionFactory().openSession(); sessionTwo.beginTransaction(); //first load() method example Student student1 = (Student) sessionTwo.load(Student.class, studentId); System.out.println(student1.getFirstName() +" - "+ student1.getLastName()); //Let's verify the entity name System.out.println(sessionTwo.getEntityName(student1)); sessionTwo.getTransaction().commit(); /************************************************************************/ SessionsessionThree=HibernateUtil.getSessionFactory().openSession(); sessionThree.beginTransaction(); //second load() method example Student student2 = (Student) sessionThree.load("net.ducatindia.hibernate.entity.Student", studentId); System.out.println(student2.getFirstName() +" - "+ student2.getLastName()); sessionThree.getTransaction().commit(); /************************************************************************/ SessionsessionFour=HibernateUtil.getSessionFactory().openSession(); sessionFour.beginTransaction(); //third load() method example Student student3 =newStudent(); sessionFour.load(student3, studentId); System.out.println(student3.getFirstName() +" - "+ student3.getLastName()); sessionFour.getTransaction().commit(); } }
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-load-entity-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 Hibernate configuration file – Java Configuration
The HibernateUtil Java configuration file contains information about the database and mapping file.
HibernateUtil is a helper class to bootstrap hibernate SessionFactory.Add the Student entity to MetadataSources for mapping.
packagenet.ducatindia.hibernate.util; importjava.util.Properties; importorg.hibernate.SessionFactory; importorg.hibernate.boot.registry.StandardServiceRegistryBuilder; importorg.hibernate.cfg.Configuration; importorg.hibernate.cfg.Environment; importorg.hibernate.service.ServiceRegistry; importnet.ducatindia.hibernate.entity.Student; publicclassHibernateUtil { privatestaticSessionFactorysessionFactory; publicstaticSessionFactorygetSessionFactory() { if (sessionFactory==null) { try { Configurationconfiguration=newConfiguration(); // Hibernate settings equivalent to hibernate.cfg.xml's properties Properties settings =newProperties(); settings.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver"); settings.put(Environment.URL, "jdbc:mysql://localhost:3306/hibernate_db?useSSL=false"); settings.put(Environment.USER, "root"); settings.put(Environment.PASS, "root"); settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect"); settings.put(Environment.SHOW_SQL, "true"); settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread"); settings.put(Environment.HBM2DDL_AUTO, "create-drop"); configuration.setProperties(settings); configuration.addAnnotatedClass(Student.class); ServiceRegistryserviceRegistry=newStandardServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); sessionFactory=configuration.buildSessionFactory(serviceRegistry); } catch (Exception e) { e.printStackTrace(); } } returnsessionFactory; } }
Create the main App class and Run an Application
Let’s test Hibernate application to connect MySQL database.
packagenet.ducatindia.hibernate; importorg.hibernate.Session; importnet.ducatindia.hibernate.entity.Student; importnet.ducatindia.hibernate.util.HibernateUtil; publicclassApp { publicstaticvoidmain(String[] args) { IntegerstudentId=1; /************************** Save Entity ***************************/ SessionsessionOne=HibernateUtil.getSessionFactory().openSession(); sessionOne.beginTransaction(); // create new student object Studentstudent=newStudent("Rajan", "Sharma", "rajansharma@ducatindia.com"); // save student object to database sessionOne.save(student); sessionOne.getTransaction().commit(); /*******************************************************************/ //Let's open a new session to test load() methods SessionsessionTwo=HibernateUtil.getSessionFactory().openSession(); sessionTwo.beginTransaction(); //first load() method example Student student1 = (Student) sessionTwo.load(Student.class, studentId); System.out.println(student1.getFirstName() +" - "+ student1.getLastName()); //Let's verify the entity name System.out.println(sessionTwo.getEntityName(student1)); sessionTwo.getTransaction().commit(); /************************************************************************/ SessionsessionThree=HibernateUtil.getSessionFactory().openSession(); sessionThree.beginTransaction(); //second load() method example Student student2 = (Student) sessionThree.load("net.ducatindia.hibernate.entity.Student", studentId); System.out.println(student2.getFirstName() +" - "+ student2.getLastName()); sessionThree.getTransaction().commit(); /************************************************************************/ SessionsessionFour=HibernateUtil.getSessionFactory().openSession(); sessionFour.beginTransaction(); //third load() method example Student student3 =newStudent(); sessionFour.load(student3, studentId); System.out.println(student3.getFirstName() +" - "+ student3.getLastName()); sessionFour.getTransaction().commit(); } }
Apply now for Advanced Java Training Course