Hibernate 空指针问题

zhuiyunyiye 2009-07-31 08:18:07
public class Test {

public static void main(String[] args){
Student st = new Student();
st.setSname("Zd");
st.setSage("20");
st.setSno("sd0901");
st.setSaddress("xzh");
new Test().addUser(st);
}

public void addUser(Student st){

Session session = SessionFactoryHolder.getCurrentSession();
Transaction tran = null;
try{
tran = session.beginTransaction();//出错
session.save(st);
session.beginTransaction();
tran.commit();
}catch(Exception e){
tran.rollback();
}finally{
session.close();
}
}
}
...全文
179 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxl3811051 2009-08-03
  • 打赏
  • 举报
回复
LZ注意代码质量还有我也和上面的同样的问题 2个 begin???
zl3450341 2009-08-03
  • 打赏
  • 举报
回复
。。。。。

tran = session.beginTransaction();//出错
session.save(st);
session.beginTransaction();


2个begin??
zhuiyunyiye 2009-08-03
  • 打赏
  • 举报
回复
挺奇怪的,以前就用的好好的,现在就不能用了,不知道是不是jar包问题
waterandtrees 2009-08-03
  • 打赏
  • 举报
回复
学习了
dinghun8leech 2009-08-03
  • 打赏
  • 举报
回复
这个问题的根本在于:楼主不会看异常堆栈信息。
建议楼主思考和询问一下查看异常信息的技巧,这个不难。
-----------------------------------------
Exception in thread "main" java.lang.NullPointerException //异常出自楼主的main方法,空指针异常,即:向一个为null的引用发送消息,所以抛出这个异常。
at hibernate.Test.addUser(Test.java:27) //异常出自hibernate包下的Test类的main方法中调用的addUser方法处
at hibernate.Test.main(Test.java:14) //异常出自hibernate包下的Test类的main方法
异常堆栈信息自下而上是调用顺序,自上而下是触发异常的路径,通常我用的简易方法是查看开头和自己有关包名的异常信息,比如此处的at hibernate.Test。
当楼主会看这些异常堆栈信息后就能回答出这个帖子的问题了,问题不是在hibernate,而是楼主在使用hibernate的过程中自己编写的程序出了问题。
liboofsc 2009-07-31
  • 打赏
  • 举报
回复
可能是执行到
tran = session.beginTransaction();//出错 这一行
就出异常,然后跳转到catch块里,因为session.beginTransaction();
出异常,所以tran没被成功实例化,然后报空指针。
liboofsc 2009-07-31
  • 打赏
  • 举报
回复
注意代码质量。
你在catch块里面至少也应该写成
try{
if(trans != null){
trans.rollBack();
}
}

其它的参照四楼所说
zhuiyunyiye 2009-07-31
  • 打赏
  • 举报
回复
执行时到 开始事务时执行不下去了tran = session.beginTransaction();//出错
zhuiyunyiye 2009-07-31
  • 打赏
  • 举报
回复
嗯,27行是 rollback()。。。。就是不知道怎么回事才让人着急啊
meadking 2009-07-31
  • 打赏
  • 举报
回复
27行是哪行呀?
谁知道是哪个对象是空指针呢?
zhuiyunyiye 2009-07-31
  • 打赏
  • 举报
回复
执行时候出现空指针异常
Exception in thread "main" java.lang.NullPointerException
at hibernate.Test.addUser(Test.java:27)
at hibernate.Test.main(Test.java:14)
配置文件和工具类都没有问题啊!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧