Ejemplo de Hibernate usando JPA y MySQL

Hibernate es un marco que proporciona una capa de abstracción, lo que significa que el programador no tiene que preocuparse por las implementaciones, Hibernate hace las implementaciones por usted internamente, como escribir consultas para realizar operaciones CRUD, establecer una conexión con la base de datos, etc. Java Framework que se utiliza para desarrollar la lógica de persistencia. Más precisamente, Hibernate es un marco Java ORM (Mapeo relacional de objetos) de código abierto, no invasivo y liviano para desarrollar objetos que son independientes del software de la base de datos y hacer una lógica de persistencia independiente en todo JAVA, JEE.

JPA significa API de persistencia de Java . Se conoce como especificación Java, que proporciona algunas funciones y estándares a las herramientas ORM. Se utiliza para controlar, revisar y conservar datos entre objetos Java y bases de datos. Se considera la técnica estándar para el mapeo relacional de objetos. A veces, los geeks se confunden entre JPA e Hibernate. Aquí hay algunas diferencias básicas entre JPA e Hibernate.

JPA

Hibernar

JPA no es una implementación. Es solo una especificación de Java. Hibernate es una implementación de JPA.
JPA explica el manejo de datos en aplicaciones Java. Hibernate es una herramienta ORM (Mapeo relacional de objetos) que se utiliza para guardar los objetos Java en el sistema de base de datos.
Como lenguaje de consulta orientado a objetos, JPA utiliza JPQL (Lenguaje de consulta de persistencia de Java) para ejecutar operaciones de base de datos. Como lenguaje de consulta orientado a objetos, utiliza Hibernate Query Language (HQL) para ejecutar operaciones de base de datos.

Implementación: vamos a construir una aplicación Java simple mediante la creación de un proyecto maven y vamos a guardar algunos datos dentro de la base de datos MySQL con la ayuda de los conceptos de Hibernate y JPA. 

Paso 1: cree un proyecto maven en su IDE de Java favorito (en este artículo estamos usando IntelliJ IDEA)

Paso 2: cuando haya creado con éxito un proyecto maven, debe agregar algunas dependencias en su archivo pom.xml . Debe agregar la siguiente dependencia en su archivo pom.xml.

La dependencia para Hibernate es la siguiente:

XML

<dependency>
  <groupId>org.hibernate.orm</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>6.0.0.Alpha8</version>
</dependency>

La dependencia para MySQL es la siguiente:

XML

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.0.8</version>
</dependency>

Ejemplo: archivo pom.xml

XML

<?xml version="1.0" encoding="UTF-8"?>
<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>
 
    <groupId>org.example</groupId>
    <artifactId>hibernateapp</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <dependencies>
        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>6.0.0.Alpha8</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.0.8</version>
        </dependency>
    </dependencies>
 
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
 
</project>

Paso 3: Cree una clase POJO simple y nombre la clase como Canción. 

Java

// Java Program to Illustrate Creation of Simple POJO Class
 
// Importing required classes
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "song")
 
// POJO class
public class Song {
 
    @Id @Column(name = "songId") private int id;
 
    @Column(name = "songName") private String songName;
 
    @Column(name = "singer") private String artist;
 
    public int getId() { return id; }
 
    public void setId(int id) { this.id = id; }
 
    public String getSongName() { return songName; }
 
    public void setSongName(String songName)
    {
        this.songName = songName;
    }
 
    public String getArtist() { return artist; }
 
    public void setArtist(String artist)
    {
        this.artist = artist;
    }
}

Paso 4: Cree un archivo de configuración de hibernación (archivo XML) dentro de la carpeta src > main > resources . Aquí hemos nombrado el archivo hibernate.cfg.xml . En este archivo vamos a configurar todas las propiedades de la base de datos MySQL .

Ejemplo: archivo hibernate.cfg.xml 

XML

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
 
        <!-- Set URL -->
        <property name = "hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate-demo(your schema name)</property>
 
        <!-- Set User Name -->
        <property name = "hibernate.connection.username">your MySQL user name</property>
 
        <!-- Set Password -->
        <property name = "hibernate.connection.password">your MySQL password</property>
 
        <!-- Set Driver Name -->
        <property name = "hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
 
        <property name = "hibernate.show_sql">true</property>
 
    </session-factory>
</hibernate-configuration>

Paso 5: Crea una clase llamada App y dentro de la clase escribe el método main()

Ejemplo

Java

// Java Program to Illustrate App File
 
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
// Main class
public class App {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Create Configuration
        Configuration configuration = new Configuration();
        configuration.configure("hibernate.cfg.xml");
        configuration.addAnnotatedClass(Song.class);
 
        // Create Session Factory
        SessionFactory sessionFactory
            = configuration.buildSessionFactory();
 
        // Initialize Session Object
        Session session = sessionFactory.openSession();
 
        Song song1 = new Song();
 
        song1.setId(1);
        song1.setSongName("Broken Angel");
        song1.setArtist("Akon");
 
        session.beginTransaction();
 
        // Here we have used
        // save() method of JPA
        session.save(song1);
 
        session.getTransaction().commit();
    }
}

Paso 6: cree un esquema llamado hibernate-demo (puede elegir el suyo propio) dentro de su base de datos MySQL. Y ejecuta tu aplicación.

Producción:

Output in MySQL Workbench

Puede ver que los datos se han guardado dentro de su banco de trabajo MySQL. Y en el esquema de demostración de hibernación, se creó una tabla llamada canción y se almacenaron los valores correspondientes para cada columna que configuró en la clase App.java. 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *