我正在研究一个基本上由用户和文档组成的数据模型。现在每次添加一个新文档时,只要特定用户没有查看它(例如单击它),就应该有一个标志将文档标识为“未见过”。
你将如何模拟这样的场景?有没有办法将布尔值/标志附加到用户和文档之间的关系?
这是我的简化模型:
@Entity
@Table(name="User")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@Column(length = 128)
private String name;
@ManyToMany(mappedBy = "users", fetch=FetchType.LAZY)
private List<Document> documents = new ArrayList<Document>();
// getters and setters ...
}
这是文档类:
@Entity
@Table(name = "Document")
public class Document {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name = "Inbox", joinColumns = @JoinColumn(name = "document_id"), inverseJoinColumns = @JoinColumn(name = "user_id"))
protected List<User> users = new ArrayList<User>();
// getters and setters ...
}
非常感谢您的帮助!