﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-§封Ja葬va§-随笔分类-Hibernate</title><link>http://www.blogjava.net/zhutianxiang/category/38091.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 01 May 2009 09:59:42 GMT</lastBuildDate><pubDate>Fri, 01 May 2009 09:59:42 GMT</pubDate><ttl>60</ttl><item><title>Junit4测试时出的问题，大家帮我看看</title><link>http://www.blogjava.net/zhutianxiang/archive/2009/04/30/268309.html</link><dc:creator>§朱家二少§</dc:creator><author>§朱家二少§</author><pubDate>Thu, 30 Apr 2009 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/zhutianxiang/archive/2009/04/30/268309.html</guid><wfw:comment>http://www.blogjava.net/zhutianxiang/comments/268309.html</wfw:comment><comments>http://www.blogjava.net/zhutianxiang/archive/2009/04/30/268309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhutianxiang/comments/commentRss/268309.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhutianxiang/services/trackbacks/268309.html</trackback:ping><description><![CDATA[<div class="content">public class DrawDao extends HibernateDaoSupport { <br />
<br />
/** <br />
* 添加领用申请 <br />
* <br />
* @param draw <br />
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 领用申请信息(不可为null) <br />
* @return <br />
*/ <br />
@SuppressWarnings("unchecked") <br />
public boolean insertDraw(Carddrawapply draw, List&lt;Carddrawapplydetail&gt; drawdetailList) { <br />
boolean flag = false; <br />
Session session = null; <br />
Transaction tx = null; <br />
try { <br />
session = this.getSession(); <br />
tx = session.beginTransaction(); <br />
<br />
long shopid = MyConstant.HTDZ_DEFAULT_SHOPID;//商家ID <br />
String billtype = CardConstant.CARD_LY_ID;//业务编号 <br />
String engshort = MyConstant.HTDZ_STR;//商家英文简称 <br />
String busishort = CardConstant.CARD_LY_CODE;//业务英文简称 <br />
<br />
String formcode = CardCode.getFormCode(session,shopid,billtype,engshort,busishort); <br />
if(!"".equals(formcode)){ <br />
draw.setCarddrawapplycode(formcode); <br />
draw.setSourcetype("0"); <br />
draw.setApplydate(MyFormat.getToday()); <br />
draw.setStatus(StatusUtil.CARDDRAWAPPLY_STATUS01); <br />
session.save(draw); <br />
long carddrawapplyid = draw.getCarddrawapplyid(); <br />
session.flush(); <br />
if(drawdetailList.size()==0){ <br />
tx.rollback(); <br />
}else{ <br />
for(Carddrawapplydetail drawdetail : drawdetailList){ <br />
if(drawdetail!=null){ <br />
drawdetail.setCarddrawapplyid(carddrawapplyid); <br />
session.save(drawdetail); <br />
} <br />
} <br />
tx.commit(); <br />
flag = true; <br />
} <br />
} <br />
<br />
} catch (Exception e) { <br />
e.printStackTrace(); <br />
tx.rollback(); <br />
flag = false; <br />
} finally { <br />
session.close(); <br />
} <br />
return flag; <br />
} <br />
} <br />
<br />
以上Dao的方法已经正常。 <br />
对此方法的测试，我是在后期补上的。但是居然报错。帮我看看： <br />
<br />
Junit4:(不用继承TestCase) <br />
<br />
public class TestDrawDao{ <br />
<br />
private DrawDao drawDao; <br />
<br />
@Before <br />
public void setUp(){ <br />
drawDao = new DrawDao(); <br />
} <br />
<br />
<br />
/** <br />
* 测试'卡领用申请信息的添加' <br />
*/ <br />
@Test <br />
public void testInsertDraw(){ <br />
Carddrawapply draw = new Carddrawapply(); <br />
draw.setApplyoperid(1); <br />
draw.setApplydesc("申请说明"); <br />
<br />
List&lt;Carddrawapplydetail&gt; drawdetailList = new ArrayList&lt;Carddrawapplydetail&gt;(); <br />
<br />
//IC卡，100元面值的100张 <br />
Carddrawapplydetail drawdetail1 = new Carddrawapplydetail(); <br />
drawdetail1.setCardtype("1"); <br />
drawdetail1.setParvalue(100); <br />
drawdetail1.setAmount(100); <br />
//充值卡，50元面值的50张 <br />
Carddrawapplydetail drawdetail2 = new Carddrawapplydetail(); <br />
drawdetail2.setCardtype("2"); <br />
drawdetail2.setParvalue(50); <br />
drawdetail2.setAmount(50); <br />
<br />
drawdetailList.add(drawdetail1); <br />
drawdetailList.add(drawdetail2); <br />
<br />
boolean flag = drawDao.insertDraw(draw, drawdetailList); <br />
//断言 <br />
Assert.assertEquals(true,flag); <br />
} <br />
} <br />
<br />
异常如下: <br />
java.lang.NullPointerException <br />
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:142) <br />
at com.htdz.card.admin.dao.DrawDao.insertDraw(DrawDao.java:35) <br />
<br />
也就是调用到DrawDao里insertDraw()的这句时报错：session = this.getSession(); <br />
<br />
业务类里调用这个Dao都能正常使用，为什么从测试类里调用就报这个错误？ <br />
DrawDao继承了HibernateDaoSupport了啊。 </div>
<img src ="http://www.blogjava.net/zhutianxiang/aggbug/268309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhutianxiang/" target="_blank">§朱家二少§</a> 2009-04-30 10:40 <a href="http://www.blogjava.net/zhutianxiang/archive/2009/04/30/268309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HQL查询必知</title><link>http://www.blogjava.net/zhutianxiang/archive/2009/03/05/257995.html</link><dc:creator>§朱家二少§</dc:creator><author>§朱家二少§</author><pubDate>Thu, 05 Mar 2009 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/zhutianxiang/archive/2009/03/05/257995.html</guid><wfw:comment>http://www.blogjava.net/zhutianxiang/comments/257995.html</wfw:comment><comments>http://www.blogjava.net/zhutianxiang/archive/2009/03/05/257995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhutianxiang/comments/commentRss/257995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhutianxiang/services/trackbacks/257995.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 不知道HQL查询返回类型着实给Hibernate新手带来了不少麻烦。这里我简单对其做了个总结。希望能帮上点忙。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhutianxiang/archive/2009/03/05/257995.html'>阅读全文</a><img src ="http://www.blogjava.net/zhutianxiang/aggbug/257995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhutianxiang/" target="_blank">§朱家二少§</a> 2009-03-05 14:20 <a href="http://www.blogjava.net/zhutianxiang/archive/2009/03/05/257995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>