Query query = session.createQuery("select a from Who a where a.name='aa'");

解决方案 »

  1.   

    一样啊,怎么改都是出错,不用别名就没事
    是不是我配置出错啊,我是用myeclipse自动生成的
    <?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="Who" table="who" schema="dbo" catalog="spdb">
            <composite-id name="id" class="WhoId">
                <key-property name="name" type="string">
                    <column name="name" length="50" />
                </key-property>
                <key-property name="password" type="string">
                    <column name="password" length="50" />
                </key-property>
            </composite-id>
        </class>
    </hibernate-mapping>
      

  2.   

    不能用的,因为你写的是hql ,Who 不是表名,而是个映射。
    hibernate会自动把hql转成 sql,那时会自己动生成别名的,如果起了就冲突了。