IT虾米网

HQL多表查询

leader 2022年06月12日 架构师 391 0
一 多表查询图例
 
二  多表查询简介
studCourse作为中间表,将多对多的关系简化成one-to-many和many-to-one 的关系,这个也是在表的设计中惯用的一种数据库设计模式。
 

三 多表查询介绍

 
在项目开发过程中,我们不可能只对一张表进行操作,一定有多张表联合查询,下面看看在hql中如何对多表查询:
比如:显示林可欣选择的所有课程名和成绩。
简单的:select s1.course.cname,s1.grade from Studcourse s1 where s1.student.sname='林可欣'
 
四 实例
package com.cakin.view; 
import java.util.List; 
import org.hibernate.Criteria; 
import org.hibernate.Session; 
import org.hibernate.Transaction; 
import org.hibernate.criterion.Restrictions; 
import com.cakin.util.*; 
import com.sina.domain.Course; 
import com.sina.domain.Studcourse; 
import com.sina.domain.Student; 
public class TestMain2 { 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) { 
        String hql="select s1.course.cname,s1.grade from Studcourse s1 where s1.student.sname=?"; 
        String parameters[]={"林可欣"}; 
        List<Object[]> list=HibernateUtil.executeQuery(hql, parameters); 
        for(Object[] s:list){ 
            System.out.println(s[0].toString()+" "+s[1].toString()); 
        } 
    } 
}
五 测试结果
javaEE 99

评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!