没有看到您的配置文件,提示错误是你的GiisQueryConfig 没有被映射

解决方案 »

  1.   

    GiisQueryConfig.hbm.xml<?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse - Hibernate Tools
    -->
    <hibernate-mapping>
        <class name="com.infoair.giis.hibernate.mapping.GiisQueryConfig" table="GIIS_QUERY_CONFIG" schema="dbo" catalog="MIXAODB">
            <id name="id" type="java.lang.Integer">
                <column name="ID" />
                <generator class="assigned"></generator>
            </id>
            <property name="funcName" type="java.lang.String">
                <column name="FUNC_NAME" length="30" not-null="true" />
            </property>
            <property name="criteria" type="java.lang.String">
                <column name="CRITERIA" length="100" />
            </property>
            <property name="sequence" type="java.lang.Integer">
                <column name="SEQUENCE" not-null="true" />
            </property>
            <property name="tableName" type="java.lang.String">
                <column name="TABLE_NAME" length="50" not-null="true" />
            </property>
            <property name="tableDesc" type="java.lang.String">
                <column name="TABLE_DESC" length="50" />
            </property>
            <property name="fieldName" type="java.lang.String">
                <column name="FIELD_NAME" length="50" not-null="true" />
            </property>
            <property name="fieldDesc" type="java.lang.String">
                <column name="FIELD_DESC" length="50" />
            </property>
        </class>
    </hibernate-mapping>
      

  2.   

    要疯掉了,也没人帮帮我!郁闷ing
      

  3.   

    应该是GiisQueryConfig.hbm.xml配置的错误,但是看xml文件还不知道你是什么错,exception提示的是类型转换异常,可能是你某个属性出了问题,不知道是不是你映射的问题。再好好检查一下。
      

  4.   

    GiisQueryConfig.hbm.xml是eclipse自动生成的啊!那到底是类型转换错误还是映射问题呢?
      

  5.   

    又看了一下你的jsp和bean,可能是你在获得结果集result的时候出了问题,hql="from GiisQueryConfig as config";是查的一个表,而你的结果集也应该是n个GiisQueryConfig类,但是在你的jsp中遍历出来的应该只是一个Object而不是你写的Object[] results=(Object[])it.next();的结果集合,在后面你用了results[1]就出了问题。应为这个Object[]集合只有一个Object[0],你可以把Object[1]改为Object[1],或者把Object[] results=(Object[])it.next();改为GiisQueryConfig results=(GiisQueryConfig)it.next();试试
      

  6.   

    不太明白你的意思。我是按照夏昕的hibernate的例子写的。
    String hql="from GiisQueryConfig as config";
    List list = session.createQuery(hql).list();
    Iterator it=list.iterator();
    while(it.hasNext())
    {
     String result=null;
     Object[] results=(Object[])it.next();                            
    System.out.println(results[0]);
    .....}
    只是他没有涉及到jsp的内容都在java中写的,向上面那种样子
      

  7.   

    Object[] results=(Object[])it.next();这句类型转换错误,取出来的results明显不是对象数组类型,而是com.infoair.giis.hibernate.mapping.GiisQueryConfig类型应该转换为com.infoair.giis.hibernate.mapping.GiisQueryConfig类型再使用
      

  8.   

    你it.next()遍历出来的应该是你hql中from A中的A对象,如果你hql中from A,B,C那这样的话,it.next()遍历出来的是一个Object[]集合,Object[0]是A,Object[1]是B。
      

  9.   

    那是说书上的例子是不正确的?我还是不太明白。
    再问个问题,如果在同一个jsp页面中获取下拉列表的值?
      

  10.   

    <html:select>
      <html:option>default value</html:option>
      <html:option property="formpropertyvalue">selected value</html:option>
    </html:select>
    用Form就行了
      

  11.   

    是在同一个页面中取出一个下来列表的所有值。request.getParameter("")不行!
      

  12.   

    是继承ActionForm类的那个form,不是表单form。
      

  13.   

    第一个错误我改出来了,谢谢大家了!
    又出了一个问题
    String hql="from GiisQueryConfig as config";
    List list = session.createQuery(hql).list();
    不带where的hql可以执行并能显示出数据库中的数据,可是加上where条件之后,就取不出数据了,也不报错误,是怎么回事呢?
    public List getDatas(String p0){
    ....
    funcname=p0;
    ....
    String hql="from GiisQueryConfig as config where config.funcName like '%"+funcname+"%'";
    List list = session.createQuery(hql).list();
      

  14.   

    hql应该没问题,你看看你执行的时候,服务器显示的hibernate执行的sql语句是什么,数据库中是不是有这个字段的值。
      

  15.   

    jsp中:DBGiisQueryConfig qp=new DBGiisQueryConfig(); 
    it=qp.getDatas("查询制定城市天气").iterator();
    while(it.hasNext())
    {AbstractGiisQueryConfig results=(AbstractGiisQueryConfig)it.next(); %>
    <td nowrap align="center" bgcolor="#426388">
    <font color="#FFFFFF"><font face="仿宋_GB2312"><%=results.getFieldDesc()%></font></td>
    }%>java中:
    public class DBGiisQueryConfig {
     public List getDatas(String p0){
         Session session = null;
         Transaction tx = null;
         String funcname=p0;
         try {
         session = HibernateSessionFactory.getSession();
         tx = session.beginTransaction();
         String hql="from GiisQueryConfig as config where config.funcName = '"+funcname+"'";
         List list = session.createQuery(hql).list();
         tx.commit();
         return list;
         } catch (HibernateException e) {
         e.printStackTrace();
         if (tx != null)
         try {
         tx.rollback();
         } catch (HibernateException e1) {
         e1.printStackTrace();
         }
         return null;
         } finally {
         try {
         if (session != null)
         HibernateSessionFactory.closeSession();
         } catch (HibernateException e1) {
         e1.printStackTrace();
         }
         }
        }不带where条件句也是用这种方法实现了,可是这个就是不行呢!
      

  16.   

    看不出问题来,看看是不是字体问题?就是数据库的字体与jsp页面的字体定义不符,换成英文看看。