此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【qilili123】截止到2008-07-10 18:28:15的历史汇总数据(不包括此帖):
发帖的总数量:1                        发帖的总分数:20                       每贴平均分数:20                       
回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:1                        未结的总分数:20                       
结贴的百分比:0.00  %               结分的百分比:0.00  %                  
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

解决方案 »

  1.   

    就是我做junit测试时出错,数据库中数据什么都有就是抛错,查不出来,因为我对hibernate不熟悉,它的格式什么的不大清楚,所以我觉得我什么地方写错了,
      

  2.   

    思路没有问题。 注意下 拼接的时候是加了空格。
    最好先把 拼接的hql 输出来看下。
      

  3.   

    @SuppressWarnings("unchecked")
    public List<StaffBasicInfo> findTwoCompound(String first, String second,
    String third, String firstResult, String secondResult,
    String thirdResult) {

    Session session = null;
    Query query;
    String selectResult="from StaffBasicInfo where "+first+" = "+firstResult+" and "+second+" = "+
                        secondResult+" and "+third+" = "+thirdResult;
    query =session.createQuery(selectResult);
    return query.list();
           }
    这是我的代码,staffBasicInfo.java是中我定义了员工的基本信息,生成员工基本信息表,我要查询的字段就是从这个表中选择的
      

  4.   

    session 没有被实例化。
    你应该吧报错给人家看一下吧
      

  5.   


    错误提示如下
    java.lang.NullPointerException
    at cn.com.xinhuadu.gaea.HRMS.personnelManagement.dao.hibernate.StaffBasicInfoDaoHibernate.findTwoCompound(StaffBasicInfoDaoHibernate.java:248)
    at cn.com.xinhuadu.gaea.personnelManagement.dao.StaffBasicInfoDaoTest.testTwoCom(StaffBasicInfoDaoTest.java:56)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:164)
    at junit.framework.TestCase.runBare(TestCase.java:130)
    at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
    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:120)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
      

  6.   

    思路是对的,但你这样写是不对的,因为你的first、seconed、third已经写死到了HQL语句里,你再传过来的参数只能将你的值传给它,而不会将first、seconed、third替换成你新传的字符串,所发就不对了,你得想办法将你形参的值得到,替换first、seconed、third。建议可以用“反射”
      

  7.   

    以前只听说过java类的反射机制但是没用过,我试着写写,不会了我再问
      

  8.   

    使用getHIbernateTemplate().find()解决的,但是用query还没解决,不会写反射
      

  9.   

    建议你看下HIBERNATE视频教材 点击下载视频J2EE视频教程.Hibernate.查询J2EE视频教程.Hibernate.多对多J2EE视频教程.Hibernate.话题J2EE视频教程.Hibernate.集合映射J2EE视频教程.Hibernate.继承映射J2EE视频教程.Hibernate.拦截器与事J2EE视频教程.Hibernate.事务乐观锁实现J2EE视频教程.Hibernate.文章系统1J2EE视频教程.Hibernate.文章系统2 J2EE视频教程.Hibernate.一对一J2EE视频教程.Hibernate.一对一和多对多J2EE视频教程.Hibernate.邮件
      

  10.   

    你没有得到session这是第一,第二是你的查询语句应该有问题