hibernate 单向many to one

来源:互联网 发布:java系统监控框架 编辑:程序博客网 时间:2024/05/24 16:15
//学生表 ,主要操作的表.//每个学生都对应一个学校,可以多个学生对应一个学校 ,// 我想在查询学生的时候把对应的学校信息顺便带出来public class Student {    @Column(name = "id")    private String id;    @Column(name = "name")    private String name;    @Column(name = "school_id")    private String schoolId;    private School school;    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)//懒加载    @JoinColumn(name = "schoolId", insertable = false, updatable = false)//school属性不参与任何update操作    //name = "schoolId"对应的是学生对象的schoolId属性(非school_id字段)    @NotFound(action = NotFoundAction.IGNORE)//如果schoolId对应的数据不存在,防止抛出异常(脏数据)    public School getSchool() {        return school;    }    //省略N行get/set}


//学校表,并没有配置任何关系,他不需要知道有谁用到了自己public class School {    private String id;    private String title;    private String address;    //省去get.set...}

//查询就不多说了 ,查询学生 ,学生中的学校也会出来

//关于修改学生: 由于配置了学生中的school对象不参与更新操作 ,要向更新学生中的school关系 ,只需要 student.setSchoolId("学校ID") ,然后保存student 即可

//PS:有些人是在student中配置过school对象后就不要student中的schoolIId属性了,但是会存在jsp前台->mvc后台接受student对象出现student中的school对象接受不正常(如果有对策请留链接给我,我受这个困扰好久了) . 本文章同时使用了字段和对象,对象只用来展示页面数据 ,字段用来插入更新.

//

原创粉丝点击