HibernateTemplate ht=new HibernateTemplate(sessionFactory);
List list=ht.find("from Login where username=?","1");报错java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept。。
我将find换成ht.save(login);没得问题
网上有说antlr-2.72.jar 和antlr-2.76.jar 试了下还是不得行 有说这是内存溢出但没说怎么解决,之前我用struts1.3没得内存溢出问题啊 
最后21分了。。不好意思

解决方案 »

  1.   

    补充下 List list=ht.find("from Login ")也没得问题、。。
      

  2.   

    String sql = "from Student where sname = ?";
     List<Student> list = this.getHibernateTemplate().find(sql, "f");//.find(sql);

    没事啊
      

  3.   

    HibernateTemplate这个好像要用session去获取的。不是NEW 来的
      

  4.   

    谢谢·大家的回答 但是我没有继承hibernateDaoSupport的
      

  5.   

    ht.find("from Login where username=?",对象);HIBERNATE底层自己去找HBM.XML下的字段....
      

  6.   

    HIBERNATE底层自己去找HBM.XML下的字段.... 是什么意思??。。
      

  7.   

    java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
    org.hibernate.hql.ast.HqlSqlWalker.generatePositionalParameter(HqlSqlWalker.java:896)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4819)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4243)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3725)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1864)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:818)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:604)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:288)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:231)
    org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
    org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
    org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
      

  8.   

    package dao;
    import java.util.List;import org.springframework.orm.hibernate3.HibernateTemplate;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    import model.Login;public class checkDaoImpl  extends HibernateDaoSupport implements checkDao {
    public boolean check(Login login) {
    // TODO Auto-generated method stub
    HibernateTemplate ht=this.getHibernateTemplate();


    String sql="from Login";

    Login l=(Login)ht.get(login.getClass(), "1");//没问题
    List<Login> list=ht.find(sql);//没问题
    List<Login> list1=ht.find("from Login where username=?","1")//错误..
    return true;

    }}
    困扰我啊好几天啊啊啊啊 啊 啊啊啊 啊啊啊啊啊。。
      

  9.   

       不防先在Spring的配置文件中将show_sql属性设置为true,这样就可以看见它发出的SQL语句、之后如何去找就是你自己的事情了..
      

  10.   

    java.lang.reflect.InvocationTargetException
    这个异常是因为底层调用Null而抛出的异常~username和Login是必须存在于hibernate的xml配置文件里面并且定义好的...不存在其中一个就会有这异常!!你看一下你的hibernate配置文件是否正确~
      

  11.   

    public class **dao extends HibernateDaoSupport{
      public List find(){
       //获取Session
    Session session = getHibernateTemplate().getSessionFactory().openSession();
      }
    }
    这样才能获得session。