1
iam正在處理實體間關聯如下的應用程序。這裏的評論是所有者和迭代,用戶是反轉表。要求是 - 用戶可以有許多評論,同樣可以由多個用戶發表評論。 另外一個迭代可以有多個註釋,一個註釋可以屬於多個迭代。 ManyToMany映射關係表爲空(Hibernate新手)
的代碼如下 -
評論實體 -
@Table(name="RCOMMENTS")
@Entity
public class RComment{
@Id
@Column(name="COMMENTID")
@GeneratedValue(strategy=GenerationType.AUTO)
private long commentid;
@Column(name="DESCRIPTION")
private String description;
@Column(name="TYPE")
private String type;
@ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinTable(name = "COMMENTS_USERS", joinColumns = { @JoinColumn(name = "COMMENTID") },
inverseJoinColumns = { @JoinColumn(name = "USERID") })
private Set <RUsers> users = new HashSet<RUsers>();
@ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinTable(name = "COMMENTS_ITERATIONS", joinColumns = { @JoinColumn(name = "COMMENTID") },
inverseJoinColumns = { @JoinColumn(name = "ITERATIONID") })
private Set <RIteration> iteration = new HashSet<RIteration>();
用戶 -
@Entity
@Table(name = "RUSER")
public class RUsers {
@Id
@Column(name = "USERID")
@GeneratedValue(strategy=GenerationType.AUTO)
private long userid;
@Column(name = "USERNAME")
private String username;
@Column(name = "PASSWORD")
private String password;
@ManyToMany(mappedBy="users")
private Set <RComment> comment ;
迭代 -
@Table(name = "RITERATION")
@Entity
public class RIteration {
@Id
@Column(name = "iterationid")
@GeneratedValue(strategy=GenerationType.AUTO)
private long iterationid;
private Date startdate;
private Date enddate;
private long iter;
@ManyToMany(mappedBy="iteration")
private Set <RComment> comment = new HashSet<RComment>();
測試代碼 -
RUsers user = (RUsers) session.get(RUsers.class, this.userid);
Set<RComment> comments = user.getComment();
現在的問題是IAM面對的是映射表是空的。 也user.getComment()產生空集
在我開始我的web應用程序之前,我的db實體表預填充虛擬值。但在運行時,當我調試代碼user.getcomment返回空集。
任何人都可以請幫我解決這個問題。
可以請您詳細闡述 – Learner
有沒有辦法保存有多個許多與多個逆表中的許多關係的主表? – Learner
我不知道這樣的功能 – Ralph