博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate在线考试系统 03
阅读量:6451 次
发布时间:2019-06-23

本文共 7111 字,大约阅读时间需要 23 分钟。

hot3.png

package model;import java.util.Date;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;@Entity@Table(name="t_exam")public class Exam {    private int id;    private Student student;    private Paper paper;    private int singleScore;    private int moreScore;    private int score;    private Date examDate;        @Id    @GeneratedValue(generator="_native")    @GenericGenerator(name="_native",strategy="native")    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    @ManyToOne    @JoinColumn(name="studentId")    public Student getStudent() {        return student;    }    public void setStudent(Student student) {        this.student = student;    }    @ManyToOne    @JoinColumn(name="paperId")    public Paper getPaper() {        return paper;    }    public void setPaper(Paper paper) {        this.paper = paper;    }    public int getSingleScore() {        return singleScore;    }    public void setSingleScore(int singleScore) {        this.singleScore = singleScore;    }    public int getMoreScore() {        return moreScore;    }    public void setMoreScore(int moreScore) {        this.moreScore = moreScore;    }    public int getScore() {        return score;    }    public void setScore(int score) {        this.score = score;    }    public Date getExamDate() {        return examDate;    }    public void setExamDate(Date examDate) {        this.examDate = examDate;    }}

package model;import java.util.ArrayList;import java.util.List;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.OneToMany;import javax.persistence.Table;import javax.persistence.Transient;import org.hibernate.annotations.Cascade;import org.hibernate.annotations.CascadeType;@Entity@Table(name="t_student")public class Student {    private String id;    private String name;    private String password;    private String sex;    private String prefession;    private String cardNo;    private String flag="2";    private List
 examList = new ArrayList
();        @Id    @Column(name="id",unique=true,nullable=false,length=40)    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    @Column(name="name",length=20)    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Column(name="password",length=20)    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Column(name="sex",length=5)    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    @Column(name="prefession",length=40)    public String getPrefession() {        return prefession;    }    public void setPrefession(String prefession) {    this.prefession = prefession;    }    @Column(name="cardNo",length=50)    public String getCardNo() {        return cardNo;    }    public void setCardNo(String cardNo) {        this.cardNo = cardNo;    }    @Transient    public String getFlag() {        return flag;    }    public void setFlag(String flag) {        this.flag = flag;    }    //一对多的关系 ,级联删除    @OneToMany(mappedBy="student")    @Cascade(CascadeType.DELETE)    public List
 getExamList() {        return examList;    }    public void setExamList(List
 examList) {        this.examList = examList;    }}

public void studentDelete(Student student){    Session session = HibernateUtil.getSessionFactory().getCurrentSession();    session.beginTransaction();    session.delete(student);    session.getTransaction().commit();}

075851_oFrv_2256061.png

控制台输出:

    这是第一种情况     学生表没有考试成绩的信息

Hibernate: select student_.id, student_.cardNo as cardNo2_4_, student_.name as name3_4_, student_.password as password4_4_, student_.prefession as prefessi5_4_, student_.sex as sex6_4_ from t_student student_ where student_.id=?首先查询了学生表
Hibernate: select examlist0_.studentId as studentI7_4_0_, examlist0_.id as id1_0_0_, examlist0_.id as id1_0_1_, examlist0_.examDate as examDate2_0_1_, examlist0_.moreScore as moreScor3_0_1_, examlist0_.paperId as paperId6_0_1_, examlist0_.score as score4_0_1_, examlist0_.singleScore as singleSc5_0_1_, examlist0_.studentId as studentI7_0_1_, paper1_.id as id1_2_2_, paper1_.joinDate as joinDate2_2_2_, paper1_.paperName as paperNam3_2_2_ from t_exam examlist0_ left outer join t_paper paper1_ on examlist0_.paperId=paper1_.id where examlist0_.studentId=?其次查询学生和考试成绩表  这是学生表下面没有人有成绩
Hibernate: delete from t_student where id=?

这是第二种情况    学生表里有考试成绩的信息

Hibernate: select student_.id, student_.cardNo as cardNo2_4_, student_.name as name3_4_, student_.password as password4_4_, student_.prefession as prefessi5_4_, student_.sex as sex6_4_ from t_student student_ where student_.id=?
Hibernate: select examlist0_.studentId as studentI7_4_0_, examlist0_.id as id1_0_0_, examlist0_.id as id1_0_1_, examlist0_.examDate as examDate2_0_1_, examlist0_.moreScore as moreScor3_0_1_, examlist0_.paperId as paperId6_0_1_, examlist0_.score as score4_0_1_, examlist0_.singleScore as singleSc5_0_1_, examlist0_.studentId as studentI7_0_1_, paper1_.id as id1_2_2_, paper1_.joinDate as joinDate2_2_2_, paper1_.paperName as paperNam3_2_2_ from t_exam examlist0_ left outer join t_paper paper1_ on examlist0_.paperId=paper1_.id where examlist0_.studentId=?
Hibernate: select questions0_.paperId as paperId10_2_0_, questions0_.id as id1_3_0_, questions0_.id as id1_3_1_, questions0_.answer as answer2_3_1_, questions0_.joinTime as joinTime3_3_1_, questions0_.optionA as optionA4_3_1_, questions0_.optionB as optionB5_3_1_, questions0_.optionC as optionC6_3_1_, questions0_.optionD as optionD7_3_1_, questions0_.paperId as paperId10_3_1_, questions0_.subject as subject8_3_1_, questions0_.type as type9_3_1_ from t_question questions0_ where questions0_.paperId=?
Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?Hibernate: delete from t_exam where id=?先删除成绩表里面的信息
Hibernate: delete from t_student where id=?再删除学生表的信息

转载于:https://my.oschina.net/gengjie2/blog/337602

你可能感兴趣的文章
shell与正则表达式
查看>>
第三篇:白话tornado源码之请求来了
查看>>
10分钟搞定支付宝和微信支付的各种填坑
查看>>
表示数值的字符串
查看>>
JQUERY AJAX请求
查看>>
html css 伪样式
查看>>
超级账本Fabric区块链用弹珠游戏Marbles 部署
查看>>
Maven多模块项目
查看>>
Oracle、PostgreSQL与Mysql数据写入性能对比
查看>>
整理Java基础知识--选择与判断
查看>>
Linux查看程序端口占用情况
查看>>
jar包冲突案例分析.md
查看>>
控制圈复杂度的9种重构技术总结
查看>>
当软件项目全部能靠自己搞定了,也能接几万元的软件项目时,未必适合创业...
查看>>
数据分析--数字找朋友
查看>>
推荐好用的开源库或软件
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
Redis集群中删除/修改节点(master、slave)(实验)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>