this.getHibernateTemplate()为null

2011年02月02日 13:32

1碰到this.getHibernateTemplate().save()不能保持在测试阶段非常容易产生的错误。

2,碰到 System.out.println(hibernateTemplate);为null的结果,现在知道原因了,

首先,hibernatetemplate为null不是错误即使可以插入值也可能获取为空。

       我犯得错误时spring+hibernate时总是自己配置session,new dao,结果出现错误java.lang.NullPointerException

        Admins admins = new Admins();
   admins.setAdminNo("aiming");
   admins.setPassword("yangguang");
   dao.addAdmin(admins);

 如果不是有dao层,只是自己生成session,事务管理,save保存,如下代码,会出现下面的报错。

Configuration cfg = new Configuration().configure();
   Session session = cfg.buildSessionFactory().openSession();
   Transaction t = session.beginTransaction();
   IAdminLogDao dao = new  AdminLogDao();
   Admins admins = new Admins();
      session.beginTransaction();
   session.save(admins);
   t.commit();

hibernate Duplicate entry '1' for key 'PRIMARY'

Could not execute JDBC batch update

如果只看报错提示,很难找到错误所在,确定一切ok,才明白spring配置文件的问题必须通过spring配置文件来生成dao再进行报错,spring配置session和事务管理器,所以不会产生上面的问题。

正常的使用spring配置文件

studentDao 对象直接 new 的话里面是没有Hibernate上下文的。
只能取得在配置文件中自动生成的实例

 ApplicationContext cxt =new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml");
  @SuppressWarnings("unused")
  IAdminLogDao dao =(AdminLogDao)cxt.getBean("logadminbean");
  Admins admins = new Admins();
  admins.setAdminNo("aiming");
  admins.setPassword("yangguang");
  dao.addAdmin(admins);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值