1

我是新来的冬眠。当我实例化会话工厂时,我得到了错误

信息:HHH000206:找不到 hibernate.properties

但是 hibernate.cfg.xml 是 src 的根目录。

这是我尝试实例化它的方式:

SessionFactory hbrntFctry;
    Session rslt = null;
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().configure().buildServiceRegistry();

    try
    { 
        hbrntFctry = new Configuration().configure().buildSessionFactory(serviceRegistry);
        rslt = hbrntFctry.openSession();
    }
    catch (Throwable ex) 
    { 
        System.err.println("Failed to create sessionFactory object." + ex); 
        throw new ExceptionInInitializerError(ex); 
    }

但后来它说:

线程“主”org.hibernate.internal.util.config.ConfigurationException 中的异常:无法在资源 hibernate.cfg.xml 中的第 4 行和第 26 列执行解组。消息:cvc-elt.1:找不到元素“休眠配置”的声明。在 org.hibernate.service.internal.JaxbProcessor.unmarshal(JaxbProcessor.java:120) 在 org.hibernate.service.internal.JaxbProcessor.unmarshal(JaxbProcessor.java:69) 在 org.hibernate.service.ServiceRegistryBuilder.configure(ServiceRegistryBuilder .java:162) 在 org.hibernate.service.ServiceRegistryBuilder.configure(ServiceRegistryBuilder.java:147) 在 com.foampile.collect.UsgsRetriever.openHibernateSession(UsgsRetriever.java:250) 在 com.foampile.collect.UsgsRetriever.getStateGauges( UsgsRetriever.java:78) at com.foampile.base.MainApp.main(MainApp.java:22) 原因:javax.xml.bind.UnmarshalException - 带有链接异常:[org.xml.sax.SAXParseException; 行号:4;列号:26;cvc-elt.1:在 com.sun.xml.internal.bind 的 com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:419) 中找不到元素“休眠配置”的声明。 .v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:356) 在 com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:326) 在 org.hibernate.service .internal.JaxbProcessor.unmarshal(JaxbProcessor.java:108) ... 6 更多原因:org.xml.sax.SAXParseException; 行号:4;列号:26;cvc-elt.1:找不到元素“休眠配置”的声明。在 com.sun.org.apache.xerces.internal.util 的 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)。

这是我的cfg文件:

<hibernate-configuration xmlns="http://www.hibernate.org/xsd/hibernate-configuration">

<session-factory> 

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <!-- Assume test is the database name --> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost/foampile</property> 
    <property name="hibernate.connection.username">root</property> 
    <property name="hibernate.connection.password"></property> 
    <!-- List of XML mapping files --> 

    <mapping resource="SiteRecord.hbm.xml"/>

</session-factory> 

4

1 回答 1

4

hibernate.cfg.xml 文件中有错误。</hibernate-configuration>不见了。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
       ...
    </session-factory>
</hibernate-configuration>
于 2012-11-09T09:06:03.140 回答