hibernate对多表的查询

本文介绍了如何使用Hibernate实现多表查询,通过创建学生信息表和课程表的映射类及XML配置文件,实现了从学生表中查询时关联课程表,从而获取到学生及其对应的课程信息。测试结果显示关联成功,但这种方法可能导致性能下降。
摘要由CSDN通过智能技术生成

今天我们做一个多表查询。

1首先准备两张表,一张是学生信息表,一张是课程表。建表语句:

CREATE TABLE  `test`.`classinfo` (

 `classname` varchar(20) NOT NULL DEFAULT '',

 `classid` int(11) NOT NULL AUTO_INCREMENT,

 PRIMARY KEY (`classid`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULTCHARSET=gbk;

 

CREATE TABLE  `test`.`student` (

 `id` int(11) NOT NULL AUTO_INCREMENT,

 `classid` int(11) DEFAULT NULL,

 `name` varchar(45) NOT NULL DEFAULT '',

 PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULTCHARSET=gbk;

这是量表的表表结构。我们知道这两张表具有关联关系。他们具有相同的classid。

那么如何利用hibernate实现对2表的查询呢?

 

 

实现代码如下:

第一建两张表的映射类分别是:

packagecom.fish.domain;

 

public class Classinfo {

    public String classname;

    public int classid;

    public String getClassname() {

        return classname;

    }

    public void setClassname(String classname) {

        this.classname = classname;

    }

    public int getClassid() {

        return classid;

    }

    public void setClassid(int classid) {

        this.classid = classid;

    }

   

}

 

第二个类:

packagecom.fish.domain;

 

public class Student {

 public int id;

 public int classid;

 public String name ;

 public  Classinfo classinfo;//这里做一个和上面表的的关联。

 

 

publicClassinfo getClassinfo() {

    return classinfo;

}

public void setClassinfo(Classinfo classinfo) {

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值