我已经在 Eclipse/Juno EE 上设置并运行 Hibernate 3.6。
我的第一个代码在实例化 HN 的类配置时给了我一个运行时错误。所以——准确地说,
SessionFactory aFactory;
Configuration conf;
很好,正在运行,
但下面的行
conf=new Configuration();
正在抛出java.lang.ExceptionInInitializerError。
编码
SessionFactory aFactory = new Configuration().configure().buildSessionFactory();
远不及跑步。
我的 hibernate.cfg.xml 如下:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/ThisDB</property>
<property name="connection.username">postgres</property>
<property name="connection.password">somePass</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping class="dataObjs.someItems"/>
</session-factory>
</hibernate-configuration>
我从下载的同一个包中的一个项目中复制了“!DOCTYPE”标签的内容——所以应该没问题。
我的库都添加到项目中并导入到类中。
该代码在创建“非休眠”对象时没有给出任何此类错误。
我错过了什么?
HN 新手。这是我的第一个代码。
//=======================================
编辑:添加代码和堆栈跟踪:
package somePaket;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import dataObjs.someItems;
public class firstClass{
public static void main(String[] args) {
System.out.println("..........see this.........");
someItems kullanici = new someItems();
itm.setID(1);
itm.setType("aaa");
SessionFactory aFactory;
Configuration conf=new Configuration();;
new Configuration();
new Configuration().configure().buildSessionFactory();
}
}
控制台上的完整日志:
..........see this.........
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.hibernate.cfg.Configuration.reset(Configuration.java:332)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:298)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:302)
at somePaket.firstClass.main(firstClass.java:18)
Caused by: java.lang.NullPointerException
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:167)
at org.hibernate.cfg.Environment.<clinit>(Environment.java:618)
... 4 more
//======================
编辑2:
在调试器中跟踪它:
LoggerFactory.singleImplementationSanityCheck()
在第 216 行抛出以下内容:
FileNotFoundException(Throwable).<init>(String) line: 264.