HQL多表查询

来源:互联网 发布:好看的照相软件 编辑:程序博客网 时间:2024/05/22 08:18
一 多表查询图例

二 多表查询简介
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
原创粉丝点击