读书人

HibernateTemplate有关问题

发布时间: 2012-11-01 11:11:33 作者: rapoo

HibernateTemplate问题!
为什么我用HibernateTemplate方法返得不到查询结果?
public class RoomDaoImpl extends HibernateDaoSupport implements RoomDao{
public List findUnbookroom()throws Exception{
//String hql="from ROOMS where booked=?";
String hql="from ROOMS";

//return (List)getHibernateTemplate().find(hql,new Integer(0));
return (List)getHibernateTemplate().find(hql);
}

}


public class RoomserviceImpl implements Roomservice{
private RoomDao roomDao=new RoomDaoImpl();
public List findUnbookroom()throws Exception{
return roomDao.findUnbookroom();
}
}

下面是我的测试代码:
public class test2 extends TestCase {

public void test() throws Exception{
Roomservice roomservice=new RoomserviceImpl();
List unbookroomlist=roomservice.findUnbookroom();
Room room=(Room)unbookroomlist.get(0);
//Room room=roomservice.getSelectId(1);
//assertEquals(null,room);
int size=unbookroomlist.size();
//assertEquals("zhong",room.getType());
assertEquals(1,size);
}

}


测试出现红条:
java.lang.NullPointerException
at com.lingirl.RoomDaoImpl.findUnbookroom(RoomDaoImpl.java:21)
at com.lingirl.RoomserviceImpl.findUnbookroom(RoomserviceImpl.java:10)
at com.lingirl.test2.test(test2.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

不知道为什么返回不了查询结果,请问我写的代码有错误吗?
最好谁可以指教一下有关HIBERNATETEMPLATE的用法,谢谢了~~<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<!--
- springside上说,PropertyPlaceholderConfigurer不能使用lazy-load
-->
<beans default-lazy-init="false">

<!--
- 指定配置文件
-->
<bean id="propertyConfigurer" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/test"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</bean>

<bean id="sessionFactory" /> 6 楼 kj23 2006-12-09 你把抛nullPointer的那行代码指出来啊 7 楼 jamesby 2006-12-10 dao 要注入你的Service,在配置文件中没有看到你的Service的配置. 8 楼 dahaizisheng 2007-05-25 你应该是从AplicationContext 中用getBean取得这个dao才行啊

读书人网 >软件架构设计

热点推荐