Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建sessionfactory时出现空指针异常休眠_Java_Spring_Oracle_Hibernate - Fatal编程技术网

Java 创建sessionfactory时出现空指针异常休眠

Java 创建sessionfactory时出现空指针异常休眠,java,spring,oracle,hibernate,Java,Spring,Oracle,Hibernate,嗨,我正在写我的第一个Hibernate程序, 它在实例化会话工厂时给出了一个错误。 我使用的是hibernate 5.0.4、Java8、EclipseLunaSR1(4.4.1)和Oracle11g 主要类别为: public class MainMethod { public static void main(String[] args) { SampleClass s = new SampleClass(); s.setId(1); s.setValue("Val

嗨,我正在写我的第一个Hibernate程序, 它在实例化会话工厂时给出了一个错误。 我使用的是hibernate 5.0.4、Java8、EclipseLunaSR1(4.4.1)和Oracle11g

主要类别为:

public class MainMethod {
public static void main(String[] args) {
    SampleClass s = new SampleClass();
    s.setId(1);
    s.setValue("Value_1");

    SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(s);
    session.getTransaction().commit();      
}
}
hibernate.cfg.xml是

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:mndb11g</property>
  <property name="hibernate.connection.username">temp_p</property>
  <property name="hibernate.connection.password">temp_p</property>
  <property name="connection.pool_size">1</property>

  <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
  <property name="hibernate.default_schema">temp_p</property>

  <property name="hbm2ddl.auto">create</property>
  <property name="show_sql">true</property>

  <mapping class="com.h.SampleClass.SampleClass"/>

</session-factory>
</hibernate-configuration>
异常堆栈跟踪为

    Exception in thread "main" java.lang.NullPointerException
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResources(ClassLoaderServiceImpl.java:173)
    at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:348)
    at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
    at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:324)
    at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:40)
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:213)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:119)
    at com.h.MainMethod.main(MainMethod.java:19)
线程“main”java.lang.NullPointerException中的异常 位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResources(ClassLoaderServiceImpl.java:173) 位于java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:348) 位于java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393) 位于java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474) 位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:324) 位于org.hibernate.integrator.internal.IntegratorServiceImpl.(IntegratorServiceImpl.java:40) 位于org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:213) 位于org.hibernate.cfg.Configuration(Configuration.java:119) 位于com.h.MainMethod.main(MainMethod.java:19) 谁能帮忙解决这个问题。
提前感谢。

代码运行时,听起来hibernate.cfg.xml不在类路径上。如果您使用的是maven,请将其放在src/main/resources中

这可能是由于几个原因造成的

  • 可能是找不到实体。在
    hibernate.cfg.xml
    文件中,实体被称为
    com.h.SampleClass.SampleClass
    请仔细检查类名和包名

  • 确保将hibernate库添加为用户库。不是系统库


希望这有帮助。

是的,我的软件包是com.h.SampleClass&我的课程是SampleClass。&但我已经将它们添加为系统库。。已更改为用户库。工作得很好。谢谢:)这对我有用。我创建了一个独立的java项目,并尝试将Hibernate库作为用户库导入,但选中了“系统库”复选框。取消选中“系统库”复选框后,错误消失
    Exception in thread "main" java.lang.NullPointerException
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.getResources(ClassLoaderServiceImpl.java:173)
    at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:348)
    at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
    at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:324)
    at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:40)
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:213)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:119)
    at com.h.MainMethod.main(MainMethod.java:19)