在你的hql语句里使用的别名与mapping里用的别名不同吧,直接用mapping里的别名就可以了

解决方案 »

  1.   

    你的id content 一定要是在hbm.xml里面配置的,而且id,content一定要和数据库里的一一对应..你再查一下配置文件吧....
      

  2.   

    字段绝对没有问题。
    我在Eclipse中使用和jsp中一样的代码,就能够实现。只要在jsp中使用Query.list()就出异常。
      

  3.   

    BadWord.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">
    <hibernate-mapping>
        <class name="com.anchor.hbm.mysql.szxt.BadWord" table="bad_word">
            <id name="id" type="long">
                <column name="id" />
                <generator class="increment" />
            </id>
            <property name="filtId" type="string">
                <column name="filt_id" length="100" />
            </property>
            <property name="content" type="string">
                <column name="content" length="150" />
            </property>
        </class>
    </hibernate-mapping>BadWord.java:
    package com.anchor.hbm.mysql.szxt;
    import java.util.*;
    public class BadWord implements java.io.Serializable {
    // Fields
    private Long id;
    private String filtId;
    private String content; public BadWord() {
    } public BadWord(Long id) {
    this.id = id;
    } public Long getId() {
    return this.id;
    } public void setId(Long id) {
    this.id = id;
    } public String getFiltId() {
    return this.filtId;
    } public void setFiltId(String filtId) {
    this.filtId = filtId;
    } public String getContent() {
    return this.content;
    } public void setContent(String content) {
    this.content = content;
    }
    }t.jsp:
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.util.List"%>
    <%@ page import="org.hibernate.*"%>
    <%@ page import="org.hibernate.criterion.*"%>
    <%@ page import="com.anchor.hbm.mysql.szxt.*"%>
    <%@ page import="com.anchor.hbm.mysql.util.HibernateUtil"%>
    <%
    String sql = "select b from BadWord as b";
    Session s=HibernateUtil.currentSession();
    Query q = s.createQuery(sql);
    List tmp=q.list();
    for(int i=0;i<tmp.size();i++){
        BadWord b=(BadWord)tmp.get(i);
        out.print(i+"\t" +b.getContent()+"<br>");
    }
    HibernateUtilSzxt.closeSession(s);
     %>**************************
    t.jsp运行到List tmp=q.list()时出现上面提到的异常。如果把t.jsp改为:
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.util.List"%>
    <%@ page import="org.hibernate.*"%>
    <%@ page import="org.hibernate.criterion.*"%>
    <%@ page import="com.anchor.hbm.mysql.szxt.*"%>
    <%@ page import="com.anchor.hbm.mysql.util.HibernateUtil"%>
    <%
    Session s=HibernateUtil.currentSession();
    Criteria q = s.createCriteria(BadWord.class);
    List tmp=q.list();
    for(int i=0;i<tmp.size();i++){
        BadWord b=(BadWord)tmp.get(i);
        out.print(i+"\t" +b.getContent()+"<br>");
    }
    HibernateUtilSzxt.closeSession(s);
     %>
    页面显示正常!问题急需解决!
      

  4.   

    select u.id,u.content from BadWord ufrom BadWord上面两行知道有什么区别吗? 
    前一行返回一个数组List, [0] 是u.id, [1] 是 u.content, 你把这个转换, BadWord b=(BadWord)tmp.get(i); 必定出错, 后一个返回一个po List, 是  BadWord