百度

Spring 多对对实体

 

package com.wangshenghua.entity;

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

import javax.persistence.CascadeType;
import javax.persistence.Entity;
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.Table;

@Entity
@Table(name = "course")
public class Course implements Serializable {

	private static final long serialVersionUID = 5844590076435775458L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;

	private String name;

      /**
      * 一个学生对应多门功课<br>
      * 多对多时,使用中间表关联两者关系<br>
      */

	@ManyToMany(cascade = CascadeType.ALL)
	@JoinTable(name = "student_has_course", 
	joinColumns = @JoinColumn(name = "course_id", 
	referencedColumnName = "id"), 
	inverseJoinColumns = @JoinColumn(name = "student_id", referencedColumnName = "id"))
	private Set<Student> students;

	// @JoinTable里的 name 中间表
	// joinColumns 当前实体ID
	// inverseJoinColumns对方实体ID

	public Course() {
	}

	public Course(String name) {
		super();
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Set<Student> getStudents() {
		return students;
	}

	public void setStudents(Set<Student> students) {
		this.students = students;
	}

	@Override
	public String toString() {
		return "Course [id=" + id + ", name=" + name + ", students=" + students + "]";
	}

}

  

posted @ 2019-07-11 21:43  麦克斯-侯  阅读(224)  评论(0)    收藏  举报
百度