用户评论模块
用户评论模块分析
编写Comment表字段
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)privateLong id;//评论时间
privateString commentTime;//评论内容
privateString commentContent;//这条评论的所有回复
@OneToMany(targetEntity = Reply.class)
@JoinColumn(name="comment_id")private Set replys = new HashSet();//这条评论是评论谁的
@OneToOne
@JoinColumn(name= "comment_user_id")privateUser commentUser;//这条评论是谁发的
@ManyToOne(targetEntity = User.class)
@JoinColumn(name="user_id")privateUser user;//同意
@ManyToMany(mappedBy = "agreeComments")private Set agreeUsers = new HashSet();//不同意
@ManyToMany(mappedBy = "disagreeComments")private Set disagreeUsers = new HashSet();
一个用户发n条回复,一个回复回复一个用户
一条回复回复一条评论,一条评论下面有多条回复
谁发的回复 多对一
这条回复是回复哪一个评论的 多对一
这条回复是回复哪一个回复的 多对一
有那些回复是回复本条回复的 多对多
修改特定的Domain实体层,User用户实体,Comment评论实体层,Repy回复实体层
packagecom.Gary.betobe.domain;importjava.util.HashSet;importjava.util.Set;importjavax.persistence.CascadeType;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.JoinTable;importjavax.persistence.Lob;importjavax.persistence.ManyToMany;importjavax.persistence.OneToMany;
@Entitypublic classUser {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)privateLong id;privateString username;privateString password;privateString email;privateString firstName;privateString lastName;privateString displayName;//个人首页
privateString webUrl;privateString phone;//个人描述
@Lob//长文本 ->lob对应mysql的数据类型 longtext
privateString description;//social Link
privateString qqLink;privateString weixinLink;//封面头像
privateString coverImage;//头像
privateString headImage;//创建时间
privateString createTime;//用户发的所有评论
@OneToMany(targetEntity = Comment.class)
@JoinColumn(name= "user_id")private Set comments = new HashSet();//我关注了哪些用户//该用户关注了哪些用户 在保存的时候,会级联保存所有临时对象
@ManyToMany(cascade =CascadeType.PERSIST)
@JoinTable(
name="user_follow",
joinColumns= @JoinColumn(name = "user_id"),
inverseJoinColumns= @JoinColumn(name = "follow_id")
)private Set follows = new HashSet();//用户,同意了哪些评论
@ManyToMany
@JoinTable(