+ -
当前位置:首页 → 问答吧 → 关于SSH中hibernate映射关系的问题

关于SSH中hibernate映射关系的问题

时间:2011-12-13

来源:互联网

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

作者: lsbggg   发布时间: 2011-12-13

怎么没人回答啊,纠结了~

作者: lsbggg   发布时间: 2011-12-13

你不就是一个一对多吗
很好写啊

作者: zysnba   发布时间: 2011-12-13

引用 2 楼 zysnba 的回复:
你不就是一个一对多吗
很好写啊

说的很对啊!就一个一对多 怎样要复合主键呢?

作者: yao752915708   发布时间: 2011-12-13

XML code

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.xml

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="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


作者: yao752915708   发布时间: 2011-12-13