Не компилирует программу. Hibernate

Вылетает NPE при компиляции Session session = HibernateUtil.getSessionFactory().openSession(); в Start.java

Вот код

HibernateUtil.java:

package ru.java.hibernate.tutorial;

import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

public class HibernateUtil {
    public static SessionFactory sessionFactory;

    static {
        final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                .configure()
                .build();
        try {
            sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
        } catch (Exception ex) {
            StandardServiceRegistryBuilder.destroy(registry);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

GroupsHelper.java:

package ru.java.hibernate.tutorial;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import ru.java.hibernate.tutorial.entity.Groups;

import javax.persistence.Query;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import java.util.List;

public class GroupsHelper {
    private final SessionFactory sessionFactory;

    public GroupsHelper() { sessionFactory = HibernateUtil.getSessionFactory();}

    public List<Groups> getGroupsList() {
        Session session = sessionFactory.openSession();

        session.get(Groups.class, 1);

        CriteriaBuilder cb = session.getCriteriaBuilder();

        CriteriaQuery<Groups> cq = cb.createQuery(Groups.class);

        Root<Groups> root = cq.from(Groups.class);

        cq.select(root);

        Query query = session.createQuery(cq);

        List groupsList = query.getResultList();

        session.close();

        return groupsList;
    }

    public Groups getGroup(String name) { return null;}
}

Start.java:

package ru.java.hibernate.tutorial;

import org.hibernate.Session;
import ru.java.hibernate.tutorial.entity.Groups;

public class Start {
    public static void main(String[] args) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        for (Groups groups: new GroupsHelper().getGroupsList()) {
            System.out.println("group=" + groups.getGr_name());
        }
    }
}

Вот логи:

��� 27, 2021 9:19:22 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 5.6.0.Final
��� 27, 2021 9:19:23 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
��� 27, 2021 9:19:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
��� 27, 2021 9:19:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.cj.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&
      allowPublicKeyRetrieval=true]
��� 27, 2021 9:19:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=root, password=****}
��� 27, 2021 9:19:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
��� 27, 2021 9:19:23 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Exception in thread "main" java.lang.NullPointerException
    at ru.java.hibernate.tutorial.Start.main(Start.java:8)

Помогите, пожалуйста, я только начал работать с Hibernate и не понимаю, в чем ошибка, точнее, понимаю в чем, но почему возникает - нет


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