首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

在使用Hibernate时出现的空指针错误

2012-09-05 
在使用Hibernate时出现的空指针异常,求助其他配置都没问题了,就是要操作数据库时的Hibernate出现了问题,一

在使用Hibernate时出现的空指针异常,求助
其他配置都没问题了,就是要操作数据库时的Hibernate出现了问题,一直是空指针异常,不知道为什么
UserDaoImpl.java代码

Java code
public User regist(User user) {        // TODO Auto-generated method stub         List ul = getHibernateTemplate().find("from users u where u.username = ?" , new String[]{user.getUsername()});            if (ul == null || ul.size() < 1)            {                this.getHibernateTemplate().saveOrUpdate(user);                return user;            }            return null;    }


问题所在

java.lang.NullPointerException
com.AppMarket.DAO.UserDaoImpl.regist(UserDaoImpl.java:23)
com.AppMarket.service.UserServiceImpl.regist(UserServiceImpl.java:18)
com.AppMarket.Action.UserAction.regist(UserAction.java:41)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)

这样的错误是为什么呢?会是出现在数据库那方面然后导致的吗?


[解决办法]
如果getHibernateTemplate()为null
可能是你的spring配置文件没起到作用,很明显的是你的getHibernateTemplate()为空,说明注入失败。好好检查你的ApplicationContext.xml,看看web.xml有没有加载spring配置文件

如果user为null
检查下user是哪里拿到的,为什么拿到是null。

[解决办法]
UserDaoImpl.java:23已经提示是这行了,楼上正解,检查getHibernateTemplate()和user哪个为null,再对症下药
[解决办法]
我认为是你写的那个if有问题,如果list为null,为什么还要保存啊??这样不出现空指针才怪呐,将if的条件改为if(ul!=null&&ul.size>0){
this.getHibernateTemplate().saveOrUpdate(user);
return user;

}

热点排行