hibernate映射有单向映射和双向映射,目前本人用的是单向映射的manyToOne,配置比较简单,只有多的一边来管理映射。
如student表和grade(班级)表,student与grade是多对一关系。在数据库中student外键为gradeId引用grade主键。
student表stuId 、stuName、gradeId----------实体类中为stuId、stuName、grade
grade表gradeId、gradeName
实体类和数据表中一致,主要看映射文件中
Student.hbm.xml
<id name="stuId" type="java.lang.String"> <column name="stuIdd" /> <generator class="uuid" /> </id> <property name="stuName" type="java.lang.String"> <column name="stuName"/> </property>
<many-to-one name="grade" column="gradeId" class="com.demo.entity.Grade" />
Grade.hbm.xml
<id name="gradeId" type="java.lang.String"> <column name="gradeId" /> <generator class="uuid" /> </id> <property name="gradeName" type="java.lang.String"> <column name="gradeName"/> </property>
如上,多的一方负责维护映射关系,少的一方不用管映射关系