hibernate中方建立表之间的关系

这篇博客介绍了在Hibernate框架下如何配置和管理表间的一对多关系,以班级和学生为例,详细阐述了实体类和XML映射文件的设置,强调了属性名称与实体之间的对应性。
摘要由CSDN通过智能技术生成

在hibernate中表之间存在一对一,一对多等关系,怎样配置这些属性的,下面来介绍一下这些知识

一对多关系:比如一个班级对用多个学生

班级实体类:

package entity;


import java.util.Set;


public class Clazz {
//实现1对多一个班级对应多个学生
private int id;
private String name;
private entity.Student Student=new Student();


public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}


public entity.Student getStudent() {
return Student;
}
public void setStudent(entity.Student student) {
Student = student;
}


}

学生实体类:

package entity;


public class Student {
private int id;
private String name;
private float score;
private Clazz clazz;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public Clazz getClazz() {
return clazz;
}
public void setClazz(Clazz clazz) {
this.clazz = clazz;
}
public void setName(String name) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}


}

班级对应的配置

<hibernate-mapping>
<class name="entity.Clazz" table="clazz">
<id name="id">
<generator class="native" />
</id>
<property name="name"  column="clazz_name" type="string"/>
<set name="student" inverse="true">
<key>
<column name="cid"/>
</key>
<one-to-many class="entity.Student"/>
</set>
</class>

</hibernate-mapping>

学生对应的配置:

<hibernate-mapping>
<class name="entity.Student" table="student">
<id name="id">
<generator class="native" />
</id>
<property name="name"  column="user_name" type="string"/>
<property name="score" column="user_score" type="float"/>
<many-to-one name="clazz" class="entity.Clazz" cascade="all">
<column name="cid"/>
</many-to-one>
</class>

</hibernate-mapping>

需要注意的是再班级和学生配置过程中属性的name要与实体之间对应。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值