以视频信息与用户关系为例:
一个用户可以拥有多个视频,一个视频也可以同时被多个用户所拥有。
@Entity
@Table(name = "videos")
public class Video {
private int video_id;
private String video_name;
private Kind video_kind;
private Set<User> users = new HashSet<>();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getVideo_id() {}
public void setVideo_id(int video_id){}
public String getVideo_name(){}
public void setVideo_name(String video_name){}
......
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "user_video",
joinColumns = @JoinColumn(name = "video_id"),
inverseJoinColumns = @JoinColumn(name = "user_id")
)
public Set<User> getUsers(){}
public void setUsers(Set<User> users){}
public void show(){
System.out.println("videoId = "+video_id);
System.out.println("videoName = "+video_name);
// System.out.println("videoKind = "+getVideo_kind().getKind_name());
}
}
@Entity
@Table(name = "user")
public class User {
private int user_id;
private String user_username;
private String user_password;
private Set<Video> videos = new HashSet<>();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getUser_id(){}
public void setUser_id(int user_id){}
public String getUser_username(){}
public void setUser_username(String user_username){}
public String getUser_password(){}
public void setUser_password(String user_password){}
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "user_video",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "video_id")
)
public Set<Video> getVideos(){}
public void setVideos(Set<Video> videos){}
}
网友评论