
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 – Delete or Remove an Entity Example
In Hibernate, an entity can be removed from a database by calling the Session.delete() or Session.remove(). Using these methods, we can remove a transient or persistent object from datastore.
The following snappits or examples demonstrate the use of Session.delete() and Session.remove() methods.
Session.delete(Object object) Method
Remove a persistent instance from the datastore. The argument may be an instance associated with the receiving Session or a transient instance with an identifier associated with existing persistent state. This operation cascades to associated instances if the association is mapped with cascade=”delete”.
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-remove-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; } }
Removing an entity using delete() method
The following example deletes transient and persistent objects from datastore using Session.delete() method.
packagenet.ducatindia.hibernate.dao; importorg.hibernate.Session; importorg.hibernate.Transaction; importnet.ducatindia.hibernate.entity.Student; importnet.ducatindia.hibernate.util.HibernateUtil; publicclassSessionDeleteExample { publicvoiddeleteStudent(intid) { Transactiontransaction=null; try (Sessionsession=HibernateUtil.getSessionFactory().openSession()) { // start a transaction transaction=session.beginTransaction(); // Delete a persistent object Studentstudent=session.get(Student.class, id); if (student !=null) { session.delete(student); System.out.println("student 1 is deleted"); } // Delete a transient object Student student2 =newStudent(); student2.setId(2); session.delete(student2); System.out.println("Student 2 is deleted"); // commit transaction transaction.commit(); } catch (Exception e) { if (transaction !=null) { transaction.rollback(); } e.printStackTrace(); } } }
Removing an entity using remove() method
The following example deletes transient and persistent objects from datastore using Session.remove() method.
packagenet.ducatindia.hibernate.dao; importorg.hibernate.Session; importorg.hibernate.Transaction; importnet.ducatindia.hibernate.entity.Student; importnet.ducatindia.hibernate.util.HibernateUtil; publicclassSessionRemoveExample { publicvoidremoveStudent(intid) { Transactiontransaction=null; try (Sessionsession=HibernateUtil.getSessionFactory().openSession()) { // start a transaction transaction=session.beginTransaction(); // Delete a persistent object Studentstudent=session.get(Student.class, id); if (student !=null) { session.remove(student); System.out.println("student 1 is deleted"); } // Delete a transient object Student student2 =newStudent(); student2.setId(2); session.remove(student2); System.out.println("Student 2 is deleted"); // commit transaction transaction.commit(); } catch (Exception e) { if (transaction !=null) { transaction.rollback(); } e.printStackTrace(); } } }
Create the main App class and Run an Application
Let’s test Hibernate application to connect MySQL database.
packagenet.ducatindia.hibernate; importnet.ducatindia.hibernate.dao.SessionDeleteExample; importnet.ducatindia.hibernate.dao.SessionRemoveExample; importnet.ducatindia.hibernate.dao.SessionSaveExample; importnet.ducatindia.hibernate.entity.Student; publicclassApp { publicstaticvoidmain(String[] args) { // first save few records to database SessionSaveExamplestudentDao=newSessionSaveExample(); Student s1 =newStudent("Rajan", "Mishra", "rajanmishra@ducatindia.com"); Student s2 =newStudent("Ram", "Mishra", "rammishra@ducatindia.com"); studentDao.saveStudent(s1); studentDao.saveStudent(s2); // delete student SessionDeleteExampledeleteExample=newSessionDeleteExample(); deleteExample.deleteStudent(1); // delete second student SessionRemoveExamplepersistExample=newSessionRemoveExample(); persistExample.removeStudent(2); } }
Apply now for Advanced Java Training Course