Hibernate не видит путь - PullRequest
0 голосов
/ 29 мая 2018

У меня проблемы с гибернацией.Я делюсь своим кодом.
Я получаю сообщение об ошибке

"C: \ Program Files \ Java \ jdk1.8.0_161 \ bin \ java" -Dfile.encoding = windows-1250 -jar C: \ Users \ kubci \ IdeaProjects \ FinalProject \ target \ hibernate-1.0-SNAPSHOT-jar-with-dependencies.jar май 29, 2018 19:41:56 org.hibernate.Rersion Журнал версии INFO: HHH000412: Hibernate Core {[РАБОТАЮЩИЙ]} май 29, 2018 19:41:56 org.hibernate.cfg.Enf. Информация о среде: HHH000206: hibernate.properties не найден май 29, 2018 19:41:57 org.hibernate.annotations.common.reflection.java.JavaReflectionManager ИНФОРМАЦИЯ: HCANN000001: Hibernate Commons Аннотации {5.0.3.Final} май 29, 2018 19:41:58 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl настроить WARN: HHH100nate002: Использование в HHH100nate: использованиепул соединений (не для производственного использования!) май 29, 2018 19:41:58 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001005: с помощью драйвера [com.mysql.jdbc.Driver] по URL-адресу[JDBC:mysql: // localhost: 3306 / loginpanel] май 29, 2018 19:41:58 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001001: Свойства соединения: {user = root, password = ****} 29 мая 2018 г. 19:41:58 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001003: режим автоматической фиксации: false maj 29, 2018 19:41:58 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl $ PooledConnections ИНФОРМАЦИЯ: HHH000115: Размер пула соединений Hibernate: 20 (мин = 1) май 29, 2018 7:41:58 PM org.hibernate.dialect.Dialect INFO: HHH000400: Использование диалекта или:.hibernate.dialect.MySQLDialect Исключение в потоке "main" org.hibernate.boot.registry.classloading.spi.ClassLoadingException: невозможно загрузить класс [pl.Final.Project.entities.LoginConnection] в org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName (ClassLoaderServiceImpl.java:354) в org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl. (AnnotationMetadataSourceProcessorImpl.java:105) в org.hibernate.boot.model.process.spi.MetadataBuildingProcess $ 1. (Метадатная переменная..spi.MetadataBuildingProcess.complete (MetadataBuildingProcess.java:150) при org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build (MetadataBuildingProcess.java:84) в org.hibernate.boot.internal.MetadataBuilderImpl.build (MetadataBuilderImpl.java: 474) в org.hibernate.boot.internal.MetadataBuilderImpl.build (MetadataBuilderImpl.java:85) в org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:689) в org.hibernate.cf.buildSessionFactory (Configuration.java:724) в pl.Final.Project.Main.main (Main.java:19) Причина: java.lang.ClassNotFoundException: Не удалось загрузить запрошенный класс: pl.Final.Project.entities.LoginConnection вorg.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl $ AggregatedClassLoader.findClass (ClassLoaderServiceImpl.java:342) в java.lang.ClassLoader.loadClass (ClassLoader.java:424) в java.lang.ClassLoader.loadClass (ClassLoader.java:357) в java.lang.0for.Метод) в java.lang.Class.forName (Class.java:348) в org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName (ClassLoaderServiceImpl.java:351) ... еще 9

Это мой главный файл.

package pl.Final.Project;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import pl.Final.Project.entities.LoginUser;

import javax.security.auth.login.AppConfigurationEntry;
import javax.security.auth.login.Configuration;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Main {
    private static SessionFactory factory;
    public static void main(String[] args) {
        factory = new org.hibernate.cfg.Configuration().configure().buildSessionFactory();
        System.exit(0);
    }
    public static ArrayList<LoginUser> getUsersList(){
        Session session = factory.openSession();
        Transaction tx = null;
        ArrayList<LoginUser> usersArrayList= new ArrayList<>();
        try{
            tx = session.beginTransaction();
            List customerList = session.createQuery("FROM pl.Final.Project.entities.LoginUser WHERE id=1").list();
            for(Iterator iterator = customerList.iterator(); iterator.hasNext();){
                LoginUser c =(LoginUser) iterator.next();
                usersArrayList.add(c);
            }
            tx.commit();

        }catch (HibernateException e){
            if(tx!=null){
                tx.rollback();
            }
        }finally {
            session.close();
        }
        return usersArrayList;
    }
}

и файлы cfg.xml и hmb.xml

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM

        "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/loginpanel</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

        <mapping class="pl.Final.Project.entities.LoginConnection" />
    </session-factory>
</hibernate-configuration>

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name = "pl.Final.Project.entities.LoginUser" table = "tuser">

        <meta attribute = "class-description">
           Login Customer mapping
        </meta>

        <id name = "id" type = "int" column = "id">
            <generator class="native"/>
        </id>

        <property name = "login" column = "login" type = "string"/>
        <property name = "password" column = "password" type = "string"/>
        <property name = "name" column = "name" type = "string"/>
        <property name = "surname" column = "surname" type = "string"/>

    </class>
</hibernate-mapping>

Я не знаю, что делать.У меня был другой проект с этим кодом, и он работает.Я скопировал и вставил, изменил некоторые детали, такие как путь и т. Д. Есть некоторые ошибки, и я думаю, что здесь есть проблема:

Исключение в потоке "main" org.hibernate.boot.registry.classloading.spi.ClassLoadingException: невозможно загрузить класс [pl.Final.Project.entities.LoginConnection]

1 Ответ

0 голосов
/ 29 мая 2018

Исключение, с которым вы столкнулись, ясно говорит о том, что класс LoginConnection не может быть загружен.Пока еще нет класса LoginConnection, который можно увидеть.Вы добавили LoginConnection в качестве класса отображения для сеанса Hibernate, но исходный код LoginConnection отсутствует.Может быть, вам следует сначала создать класс LoginConnection, прежде чем его можно будет загрузить?

Или вы случайно написали LoginConnection вместо LoginUser?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...