我好像不觉得hql里有select关键字。

解决方案 »

  1.   

    hql = " from Userfile as uf where uf.users.userName = '"+username+"'"
      

  2.   

    二楼 
    你给的hql我早就试过了 还是执行不了
    报错could not resolve property: Users of: com.ky.hibernatemapping.Userfile [from com.ky.hibernatemapping.Userfile as uf where uf.Users.userName=bbb]
      

  3.   

    这个报错是说你的Userfile类中没有对应users的映射,请去检查这个Userfile映射类
      

  4.   

    映射了 
    这就是Userfile类  
    public class Userfile  implements java.io.Serializable { 
         private UserfileId id; 
         private Users users; 
    Userfile.hbm.xml 
    <hibernate-mapping>
        <class name="com.ky.hibernatemapping.Users" table="users" catalog="kydata">
            <id name="userName" type="string">
                <column name="user_name" length="60" />
                <generator class="native" />
            </id>
            <many-to-one name="kydb" class="com.ky.hibernatemapping.Kydb" fetch="select">
                <column name="dtuid" length="100" not-null="true" />
            </many-to-one>
            <property name="userPwd" type="string">
                <column name="user_pwd" length="15" not-null="true" />
            </property>
            <property name="userGrade" type="integer">
                <column name="user_grade" />
            </property>
        </class>
    </hibernate-mapping>
      

  5.   

    试一下 
    hql = " from Userfile as uf where uf.users= '"+username+"'"
      

  6.   

    try
    hql = " from Userfile as uf where id.users.userName = '"+username+"'"
      

  7.   

    ("from Userfile where users.userName = ?", new Object[] { username })
    2楼hql没问题的你的配置文件有问题,用什么复合主键啊
    主键采用一个与业务无关的int或者long字段
      

  8.   

    让楼主给搞糊涂了public class UserfileId  implements java.io.Serializable { 
         private Integer fileindex; 
         private Users users; 
         private String filedir; 
    } Userfile.java 
    public class Userfile  implements java.io.Serializable { 
         private UserfileId id; 
         private Users users; 

    UserfileId  里有users了,为什么Userfile  还要定义一个users?try 
    hql = " from Userfile as uf where id.users= '"+username+"'"
      

  9.   

    直接执行不了修改了一下
    String hql = " from Userfile as uf where uf.id.users.userName = '"+username+"'";
    就可以了 
    谢谢啊 我还有一个不明白的就是为什么hibernate会自动生成UserfileId对象啊???
    帮忙解释一下 ..
    也谢谢大家啊 来者有分