为了账号安全,请及时绑定邮箱和手机立即绑定

求救!空指针异常java.lang.NullPointerException

ps:43行对应24行
错误:
java.lang.NullPointerException
	at StudentsTest.testSaveStudents(StudentsTest.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

http://img1.sycdn.imooc.com//5a1ac0d6000198bb04420454.jpg

@Before
	public void init(){
		Configuration config=new Configuration().configure();
		
		ServiceRegistry serviceRegisty=new StandardServiceRegistryBuilder()
				.applySettings(config.getProperties()).build();
		
		sessionFactory=new MetadataSources(serviceRegisty).buildMetadata().buildSessionFactory();
		
		session=sessionFactory.openSession();
		transaction=session.beginTransaction();
	}
	
	@After
	public void destory(){
		transaction.commit();
		session.close();
		sessionFactory.close();
	}
	
	@Test
	public void testSaveStudents(){
		Students s=new Students(1,"男","张师傅",new Date(),"武当山");
		session.save(s);
	}

http://img1.sycdn.imooc.com//5a1ac111000166c009540247.jpg

正在回答

1 回答

用下面的方法创建 sessionFactory 对象吧;好像是版本有更新,空指针异常可能是其他方面导致的

Configuration cfg = new Configuration().configure();  

ServiceRegistry  builder=  (ServiceRegistry) new StandardServiceRegistryBuilde().                                                                    applySettings(cfg.getProperties()).build(); 

   sessionFactory = cfg.buildSessionFactory(builder); 


0 回复 有任何疑惑可以回复我~
#1

机智的意竹竹 提问者

唉,感觉就是session这里的空指针,但是我找不到解决办法
2017-11-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Hibernate初探之单表映射
  • 参与学习       74811    人
  • 解答问题       793    个

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

进入课程

求救!空指针异常java.lang.NullPointerException

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信