【问题标题】:hibernate.cfg.xml not found - exception in java未找到 hibernate.cfg.xml - java 中的异常
【发布时间】:2012-03-16 14:53:42
【问题描述】:

我正在创建一个简单的应用程序来学习 Hibernate。我正在使用 NetBeans IDE,并在 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;
    }
}

我在 src 文件夹(默认包)中定义了一个 hibernate.cfg.xml 文件

这是 NetBeans IDE 产生的错误。

2012 年 2 月 27 日上午 8:51:35 org.hibernate.cfg.Configuration 配置 信息:从资源配置:/hibernate.cfg.xml 2012 年 2 月 27 日 上午 8 点 51 分 35 秒 org.hibernate.cfg.Configuration getConfigurationInputStream 信息:配置资源:/hibernate.cfg.xml 线程中的异常 “主” org.hibernate.HibernateException:/hibernate.cfg.xml 未找到 在 org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147) 在 org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1405) 在 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

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    试试

    new Configuration().configure(<your cfg file path>).buildSessionFactory();
    

    【讨论】:

    • 请告诉我写的路径。我在 NetBeans 项目的 src 文件夹中有我的 cfg 文件
    • 如果你把它保存在 src 文件夹中,那么不需要给出路径,确保从 src 复制的文件在 netbeans 的 build 文件夹中
    【解决方案2】:

    确保 hibernate.cfg.xml 也在你的类路径中,以便 JVM 可以看到它。

    【讨论】:

    • 如何在我正在使用 NetBeans 的类路径中添加 hibernate.cfg.xml 文件。
    • 我尝试在系统类路径中添加文件路径,但它可以正常工作。请帮帮我
    【解决方案3】:
    new Configuration().configure()
    

    configure() 指的是 build 文件夹中的类路径。我曾经将它从 src 文件夹复制到手动构建文件夹。清理后,构建文件夹将被删除。所以,我必须重复一遍。有没有办法自动化这个过程?

    我考虑过

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

    但是hibernate.cfg.xml中的hbm文件描述也涉及到资源路径。 如何自动将构建目录中的这些文件完全镜像为源目录?

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 2011-06-23
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多