jpa高级 一对多

entity类

班级类

package com.ysd.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Data
@Entity
@Table(name = "clazztb")
public class Clazz implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(columnDefinition = "int unsigned NOT NULL comment'备注:班级自动增长主键'")
    private Integer clazzId;
    @Column(length = 10, unique = true)
    private String clazzName;
    @OrderBy
    @Column(columnDefinition = "int unsigned DEFAULT 0 comment'备注:班级总人数' ")
    private Integer clazzNumber;
    /**
     * 关于一对多
     * 一个班级对应一个班级的学生
     * @return
     */
    
    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL,targetEntity = Studentz.class)
    @JoinColumn(name = "class_stu_id", referencedColumnName = "clazzId")
    private List<Studentz> list = new ArrayList<Studentz>();

    private String showClazz() {
        return "Clazz[clazzId=" + clazzId + ",clazzName=" + clazzName + ",clazzNumber=" + clazzNumber + "]";
    }

    private String showClazzAndStudentz() {
        return "Clazz[clazzId=" + clazzId + ",clazzName=" + clazzName + ",clazzNumber=" + clazzNumber + ",list=" + list + "]";
    }
}

学生类

package com.ysd.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

@Data
@Entity
@Table(name = "studenttb")
public class Studentz implements Serializable {
  
    @Id  //实体类主键
    
    @GeneratedValue(strategy = GenerationType.IDENTITY)   //自动增长
    
    @OrderBy  //数据加载顺序
  
    @Column(columnDefinition = "int unsigned NOT NULL comment'备注:学生自动增长主键'")
    
    private Integer studentId;
  
    @Column(length = 20)  //字符长度20
    
    private String studentName;
   
    @Column(columnDefinition = "char(1) comment'备注:学生性别'")
  
    private String studentSex;
    
    @Column(columnDefinition = "int unsigned DEFAULT 0 comment'备注:学生年龄'")
  
    private Integer studentAge;

    private Date studentBirthday;

    //@CreationTimestamp@UpdateTimestamp // 插 入 , 修 改 时 自 动 维 护 时 间 戳
    @Column(columnDefinition = "TIMESTAMP", nullable = false, updatable = false, insertable = false)
    private Timestamp updateTime;
    @Transient // 临 时 参 数 , 不 映 射 到 数 据 库 表 字 段
    private String studentSpare;


    public String showStudent() {
        return "Student[studentId=" + studentId + ",studentName=" + studentName + ",studentSex=" +
                studentSex + ",studentAge=" + studentAge + ",studentBirthday=" + studentBirthday +
               ",updateTime=" + updateTime + "]";
     
    }
    }

dao层
dao层
service层
service层

serviceimpl
serviceimpl
controller
controller
结果
一对多结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值