hibernate 空指针异常问题

问题描述

package com.yuqidi.mapping;import java.util.Iterator;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;public class mappingTest {private static SessionFactory sessionFactory;@BeforeClasspublic static void beforeClass() {new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();}@AfterClasspublic static void afterClass() {sessionFactory.close();}@Testpublic void testSaveGroup() {User u1 = new User();u1.setName("u1");User u2 = new User();u2.setName("u2");Group g = new Group();g.setName("g1");g.getUsers().add(u1);g.getUsers().add(u2);u1.setGroup(g);u2.setGroup(g);Session s = sessionFactory.getCurrentSession();s.beginTransaction();s.save(g);s.getTransaction().commit();}@Testpublic void testGetGroup(){testSaveGroup();Session s = sessionFactory.getCurrentSession();s.beginTransaction();Group g=(Group)s.get(Group.class, 0);System.out.println(g.getName());s.getTransaction().commit();}@Testpublic void testSchemaExport() {new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);}public static void main(String[] args) {beforeClass();}}用Junit 测试时会报空指针异常;去掉System.out.println(g.getName());可以通过测试,情各位指教 问题补充:soartju 写道

解决方案

1.0 打开的你的数据库 去表 Group 看一下!ID 的值2.0 把ID 放到这个位置引用Group g=(Group)s.get(Group.class, 数据库里面的ID); System.out.println(g.getName()); 然后运行就OK了!
解决方案二:
hibernate 中get与load的问题,,get其初默认数据库有值 ,去查,没有的话为空...如果是load的话就会报错
解决方案三:
Group g=(Group)s.get(Group.class, 0);System.out.println(g.getName()); 报空指针异常,标示g为null,也就是说Group g=(Group)s.get(Group.class, 0);取到的是null,数据库中没有主键为0的记录,你看下数据库对应group的主键id是啥,改一下应该就可以了。
解决方案四:
引用s.beginTransaction(); Group g=(Group)s.get(Group.class, 0); System.out.println(g.getName()); s.getTransaction().commit(); 首先 查询是不需要 事物的 s.beginTransaction(); 应去掉2.0 Group g=(Group)s.get(Group.class, 0); 这样的意思是查询 一个 group 对象出了来! 但是你确定 他的ID 是 0 ? 后面这个参数 ID 哦! 看下库里面是否有呢!

时间: 2025-01-19 15:03:14

hibernate 空指针异常问题的相关文章

hibernate进行分页时,sessionFactory为null报空指针异常

问题描述 hibernate进行分页时,sessionFactory为null报空指针异常 从网上查了许都,都没能解决,不知道是配置文件有问题,还是方法写的有问题 解决方案 dao层实现类: /** @ClassName: BaseDaoImpl @Description: 基础dao实现 @author john @date 2015年2月26日 下午3:27:15 */ @SuppressWarnings("unchecked") public abstract class Bas

spring mvc-Spring mvc+hibernate 在添加信息的时候报空指针异常

问题描述 Spring mvc+hibernate 在添加信息的时候报空指针异常 解决方案 请问这是什么原因?? 解决方案二: 看sql 是需要四个参数对不,选择插入是必须每个都要插入的,你可以断点跟踪一下,在执行插入方法的时候,是否都有值!只能这样帮你了,能力有限

ssh整合-spring hibernate struts2整合出现空指针异常

问题描述 spring hibernate struts2整合出现空指针异常 本人菜鸟大学生一枚,跪求高手指教,不甚感激, 我在spring hibernate整合后测试没有问题,可以实现对数据库的操作,然后我整合struts,同样的在action中调用业务方法,查询数据库所有的时候,出现空指针异常 解决方案 调试下哪的空指针,如果是属性注入失败的话,检查spring的配置文件是否正确. 解决方案二: 没有进入到你的action中的方法里面,用debug调试一下,看看是不是哪里写错了 解决方案三

Hibernate查询,数据库中无数据正常,有数据出现java.lang.NullPointerException 空指针异常

hibernate执行表与表之间多对一的查询时,如果数据库中没有数据时,一切正常,一旦将数据插入到数据库中,查询的时候将会抛出空指针异常.以下是我的*.hbm.xml的配置 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http

添加hibernate支持测试空指针异常

问题描述 添加hibernate支持测试空指针异常 看他提示貌似是获取会话为空,可是手动编写获取会话是可以正常显示的,搞不懂为什么添加的hibernate支持就不行 解决方案 你是用junit的自动化测试测试的吗?如果是的话,需要初始化方法所需要的session也就是你手动编写的会话获取的代码. 通过@Before的,在初始化方法中手动获取session会话,然后其他的@Test 方法才能正确被执行.

关于hibernate 中query.list()空指针异常,急!!!!在线等,望达人解决下

问题描述 publicclassCollegeDaoImplTestextendsTestCase{publicvoidtestCollegeDaoImpl(){Sessionsession=HibernateUtils.getSession();session.beginTransaction();Queryquery=session.createQuery("selectcfromCollegec");for(inti=0;i<query.list().size();i++)

框架-@Autowired注入为null,空指针异常。

问题描述 @Autowired注入为null,空指针异常. Spring mvc + hibernate 的框架中,在非Controller下使用@Autowired注入失败,空指针异常.配置文件中已经加入了如下的内容 <!-- 使用annotation 自动注册bean并保证@Required@Autowired的属性被注入 --> /context:component-scanService类:@Service(""realtimeDataService"&q

detachedcriteria-Hiberate 用detached作子查询 报空指针异常

问题描述 Hiberate 用detached作子查询 报空指针异常 DetachedCriteria dc = DetachedCriteria.forClass(Course.class);DetachedCriteria subselect = DetachedCriteria.forClass(CoursePlan.class) .add(Restrictions.eq(""schoolYear"" schoolYear));dc.add(Property.

spring-框架Spring和Hibernate 无法进行测试数据库的数据注入

问题描述 框架Spring和Hibernate 无法进行测试数据库的数据注入 解决方案 很奇葩的问题!报空指针异常,目测配置文件没有错误! 解决方案二: 很奇葩的问题!报空指针异常,目测配置文件没有错误! 解决方案三: 先看看passengerDaoTest.java的第15行是什么 解决方案四: 第十五行是:ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); 解决方案五