有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate可以读取Hibernate的内容。cfg。但是仍然会给出错误?

我知道这是一个老问题,但它真的困住了我

我接受了get InputsReal使用classLoader的建议,代码如下:

 public static Session getSession() {
    if (sessionFactory == null) {
        InputStream xmlInputStream = 
                ResourceUtil.getInputStream(HibernateDBUtil.class, CFG_XML);
        Scanner scanner = new Scanner(xmlInputStream);
        //just a test I can read the xml file ,print content here
        while(scanner.hasNext()) System.out.println(scanner.nextLine());
        scanner.close();
        //reget the stream
        xmlInputStream = 
                ResourceUtil.getInputStream(HibernateDBUtil.class, CFG_XML);
        Configuration cfg = new Configuration();
        cfg.addInputStream(xmlInputStream).configure();
        // version 4.3 's way to config
        StandardServiceRegistryBuilder builder = 
                new StandardServiceRegistryBuilder().applySettings
                (cfg.getProperties());  
        StandardServiceRegistryImpl registry = 
                (StandardServiceRegistryImpl) builder.build();  

        sessionFactory = cfg.buildSessionFactory(registry);  
    }
    return sessionFactory.openSession();
}
private static SessionFactory sessionFactory;
private static final String CFG_XML = "properties/hibernate.cfg.xml"; 

我确认。getInputStream工作正常,因为我可以打印hibernate的内容。cfg。xml,但为什么仍然告诉我错误:

更新: 完整堆栈跟踪:

INFO: HHH000412: Hibernate Core {4.3.0.Final} Jan 10, 2014 11:33:43 PM org.hibernate.cfg.Environment

INFO: HHH000206: hibernate.properties not found Jan 10, 2014 11:33:43 PM org.hibernate.cfg.Environment buildBytecodeProvider

INFO: HHH000021: Bytecode provider name : javassist Jan 10, 2014 11:33:44 PM org.hibernate.cfg.Configuration configure INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml Jan 10, 2014 11:33:44 PM org.hibernate.cfg.Configuration getConfigurationInputStream

INFO: HHH000040: Configuration resource: /hibernate.cfg.xml Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)atorg.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:2093) at org.hibernate.cfg.Configuration.configure(Configuration.java:2074) at org.hibernate.cfg.Configuration.configure(Configuration.java:2054) at cn.edu.gdut.utils.HibernateDBUtil.getSession(HibernateDBUtil.java:49) at cn.edu.gdut.utils.HibernateDBUtil.listBasicElement(HibernateDBUtil.java:25) at cn.edu.gdut.utils.HibernateDBUtil.main(HibernateDBUtil.java:20)


共 (0) 个答案