ManyToMany(基于注解)使用之进阶(中级版)

社团和成员就是多对多的关系,一个成员有多个社团,一个社团也有多个成员,这里的多对多映射采用中间表连接的映射策略,建立中间表的映射策略,建立中间表分别引入俩边的主键作为外键。通过中间表映射俩个表之间的关系。

下面就以社团类和成员类为例介绍多对多的映射关系的实例

Club实体类

package com.cn.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * @ClassName: Club
 * @Description: 社团的实体类
 * @author: Administrator
 * @date: 2016年7月6日 下午3:27:43
 */
@Entity //实体类
@Table(name="iyo_club",catalog="iyo") //哪个数据库那张表
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) //二级缓存
public class Club implements Serializable{
   

    /**
     * @fieldName: serialVersionUID
     * @fieldType: long
     * @Description: 
     */
    private static final long serialVersionUID = -1576706279212597880L;

    private Integer clubId;//社团ID
    private String clubIntroction;//社团简介
    private String ClubName;//社团名称
    private Integer clubLevel;//社团等级
    private Integer clubNumber;//社团人数
    private Date clubCreateTime;//创建时间
    private User user;//创始人
    private College college;//所属学院
    private Set<Member> member = new HashSet<Member>();

    public Club() {
        //super();
    }

    public Club(String clubIntroction, String clubName, Integer clubLevel, Integer clubNumber, Date clubCreateTime,
            User user, College college) {
        //super();
        this.clubIntroction = clubIntroction;
        ClubName = clubName;
        this.clubLevel = clubLevel;
        this.clubNumber = clubNumber;
        this.clubCreateTime = clubCreateTime;
        this.user = user;
        this.college = college;
    }

    @Id //主键
    @GeneratedValue(strategy = GenerationType.IDENTITY) //数据库自增
    public Integer getClubId() {
        return clubId;
    }

    public void setClubId(Integer clubId) {
        this.clubId = clubId;
    }

    public String getClubIntroction() {
        return clubIntroction;
    }

    public void setClubIntroction(String clubIntroction) {
        this.clubIntroction = clubIntroction;
    }

    public String getClubName() {
        return ClubName;
    }

    public void setClubName(String clubName) {
        ClubName = clubName;
    }

    public Integer getClubLevel() {
        return clubLevel;
    }

    public void setClubLevel(Integer clubLevel) {
        this.clubLevel = clubLevel;
    }

    public Integer getClubNumber() {
        return clubNumber;
    }

    public void setClubNumber(Integer clubNumber) {
        this.clubNumber = clubNumber;
    }

    public Date getClubCreateTime() {
        return clubCreateTime;
    }

    public 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值