hibernate.cfg.xml не найден - исключение в Java - PullRequest
2 голосов
/ 27 февраля 2012

Я создаю простое приложение для изучения Hibernate.Я использую среду IDE NetBeans и создал класс в пакете com.hibernate .Класс определяется как:

package com.hibernate;

import com.mahesh.entity.UserDetails; 

import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;

public class hibr {
    public static void main(String[] args) {
        UserDetails user = new UserDetails();
        user.setUserID(1);
        user.setUserName("Mahesh");

        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();
    }
}

Я определил класс UserDetails как:

package com.mahesh.entity;

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

/**
 *
 * @author Mahesh
 */
@Entity
public class UserDetails {
    @Id
    private int userID;
    private String userName;

    public void setUserID(int userID) {
        this.userID = userID;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getUserID() {
        return userID;
    }

    public String getUserName() {
        return userName;
    }
}

Я определил файл hibernate.cfg.xml, который находится в папке src (пакет по умолчанию)

Это ошибка, сгенерированная IDE NetBeans.

27 февраля 2012 г. 8:51:35 org.hibernate.cfg.Configuration configure INFO: настройка из ресурса: /hibernate.cfg.xml 27 февраля 2012 г. 8:51:35 org.hibernate.cfg.Configuration getConfigurationInputStream INFO: ресурс конфигурации: /hibernate.cfg.xml Исключение в потоке "main"org.hibernate.HibernateException: /hibernate.cfg.xml не найден в org.hibernate.util.ConfigHelper.getResourceAsStream (ConfigHelper.java:147) в org.hibernate.cfg.Configuration.getConfigurationInputStream (Configuration.java:1)org.hibernate.cfg.Configuration.configure (Configuration.java:1427) в org.hibernate.cfg.Configuration.configure (Configuration.java:1414) в com.hibernate.hibr.main (hibr.java:18) Результат Java: 1

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

1001 * попробовать *

new Configuration().configure(<your cfg file path>).buildSessionFactory();
1 голос
/ 23 ноября 2015
new Configuration().configure()

configure () ссылается на путь к классам в папке build . Я использовал, чтобы скопировать его из папки src для создания папки вручную. После очистки папка сборки будет удалена. Итак, я должен повторить это. Есть ли способ автоматизировать этот процесс?

Я рассмотрел

new Configuration().configure(new File("a path/hibernate.cfg.xml"))

Но описания файлов hbm в hibernate.cfg.xml также включают путь к ресурсу. Как автоматически отразить эти файлы в каталоге сборки точно так же, как в исходном каталоге?

1 голос
/ 27 февраля 2012

Убедитесь, что hibernate.cfg.xml также указан в вашем classpath, чтобы JVM могла его видеть.

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