Почему не получается сделать запрос в БД и происходит org.hibernate.HibernateException?

В прошлый раз я задал вопрос, где я не мог решить проблему с resources. Решил проблему вчера, сегодня не могу понять в чем проблема, почему на не могу сделать запрос. В видео делал как у автора:

  1. Создал БД.
  2. Создал таблицу.
  3. Создал класс Person.
  4. Затем в другом классе соединил с БД.
  5. Создал объект класса и всё сохранил в сессию и закрыл сессию.

Однако не работает так как нужно. Cкрин прикладываю из видео человека, у меня такого нет как у него в видео. Я даже разные версии пробовал, не помогает.

введите сюда описание изображения

Прикладываю код, зависимости, конфигурационный файл и логи.

Код класса Person:

package test.learn.hibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
@Table (name = "Person")
public class Person {
    @Id
    private int id;
    @Column (name = "name")
    private String name;
    @Column (name = "surname")
    private String surname;
    
    public Person () {}
    
    public String getName () {
        return name;
    }
    
    public void setName (String name) {
        this.name = name;
    }
    
    public String getSurname () {
        return surname;
    }
    
    public void setSurname (String surname) {
        this.surname = surname;
    }
    
    public void setId (int id) {
        this.id = id;
    }
    
    public int getId () {
        return id;
    }
    
    public String toString () {
        return this.id +": " + this.name + ": " + this.surname;
    }
}

Код который связан с сессией:

package test.learn.hibernate;

import org.hibernate.cfg.*;
import org.hibernate.*;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println("Project started...");
        
        Configuration cfg = new Configuration ();
        
        cfg.configure();
        
        SessionFactory factory = cfg.buildSessionFactory();
        cfg.addAnnotatedClass(Person.class);
        
        System.out.println(factory);
        Person person = new Person ();
        
        person.setId(1);
        person.setName("John");
        person.setSurname("Smith");
        
        System.out.println(person);
        
        Session session = factory.getCurrentSession();
        
        Transaction tx = session.beginTransaction();
        
        session.persist(person);
        
        System.out.println(person);
        
        session.getTransaction();
        
        tx.commit();
        
        session.close();
        
        
    }
}

Мой pom.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>test.learn</groupId>
  <artifactId>hibernate</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>hibernate</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.2.4.Final</version>
</dependency>

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.32</version>
</dependency>


<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>ejb3-persistence</artifactId>
    <version>1.0.2.GA</version>
    <type>pom</type>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.5.6-Final</version>
</dependency>


  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

Мой конфигурационный файл:

<?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>
   
      <property name = "hibernate.dialect">
         org.hibernate.dialect.MySQLDialect
      </property>
   
      <property name = "hibernate.connection.driver_class">
         com.mysql.cj.jdbc.Driver
      </property>

      <!-- Assume students is the database name -->
   
      <property name = "hibernate.connection.url">
         jdbc:mysql://localhost:3306/person
      </property>
   
      <property name = "hibernate.connection.username">
         root
      </property>
   
      <property name = "hibernate.connection.password">
        root
      </property>
      
      <property name = "show_sql">true</property>
      <property name="hbm2ddl.auto">update</property>
      <mapping class = "test.learn.hibernate.Person"/>

   </session-factory>
</hibernate-configuration>

Логи:

Project started...
июн. 16, 2023 4:47:28 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 6.2.4.Final
июн. 16, 2023 4:47:28 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000406: Using bytecode reflection optimizer
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using built-in connection pool (not intended for production use)
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: Loaded JDBC driver class: com.mysql.cj.jdbc.Driver
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001012: Connecting with JDBC URL [jdbc:mysql://localhost:3306/person]
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {password=****, user=root}
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
июн. 16, 2023 4:47:28 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH10001115: Connection pool size: 20 (min=1)
июн. 16, 2023 4:47:28 PM org.hibernate.bytecode.internal.BytecodeProviderInitiator buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : bytebuddy
июн. 16, 2023 4:47:29 PM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
org.hibernate.internal.SessionFactoryImpl@2e179f3e
1: John: Smith
Exception in thread "main" org.hibernate.HibernateException: No CurrentSessionContext configured
    at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:601)
    at test.learn.hibernate.App.main(App.java:32)

Ответы (0 шт):