一个User表:courseId(PK),studentId(PK),studentName,studentAge。
    一个Course表:coureseId(PK),courseName。
    这里User表中使用到了复合主键,现在Hql语句中要查询出studentName,studentAge,courseName.
   映射关系该如何配置?相映的实体类该如何写?求解啊~。最好贴出具体代码。

解决方案 »

  1.   


    User.hbm.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="cn.itcast.bean">
    <class name="User" table="Users">
    <id name="id" column="studentId" >
      <generator class="native"/>
    </id>
                   <property name="studentName " column="studentName "/> <property name="studentAge" column="studentAge"/>
                    <many-to-one name="course" class="Course" column="course_id"/>
    </class>
    </hibernate-mapping>course.hbm.xmlUser.hbm.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="cn.itcast.bean">
    <class name="Course" table="Course">
    <id name="id" column="courseId" >
      <generator class="native"/>
    </id>
    <property name="courseName" column="courseName"/>
                    <set name="users">
    <key column="courese_id"/>
    <one-to-many class="cn.itcast.bean.User"/>
    </set>
             </class>
    </hibernate-mapping>
    页面代码你首先找到users这个对象并获得studentName,studentAge,对象course
    通过course.getCourseName()得到courseName
      

  2.   

    <hibernate-mapping package="cn.itcast.bean">
        <class name="User" table="Users">
            <id name="id" column="studentId" >
              <generator class="native"/>
            </id>
                   <property name="studentName " column="studentName "/>        <property name="studentAge" column="studentAge"/>
                    <many-to-one name="course" class="Course" column="course_id"/>
        </class>
    </hibernate-mapping><hibernate-mapping package="cn.itcast.bean">
        <class name="Course" table="Course">
            <id name="id" column="courseId" >
              <generator class="native"/>
            </id>
            <property name="courseName" column="courseName"/>
                    <set name="users">
            <key column="courese_id"/>
            <one-to-many class="cn.itcast.bean.User"/>
            </set>
             </class>
    </hibernate-mapping>