基本的にユーザーとドキュメントで構成されるデータモデルに取り組んでいます。これで、新しいドキュメントが追加されるたびに、特定のユーザーがドキュメントを閲覧していなかった(クリックしたなど)限り、ドキュメントを「未表示」として識別するフラグが表示されます。
そのようなシナリオをどのようにモデル化しますか?ユーザーとドキュメントの関係にブール値/フラグを付ける方法はありますか?
これが私の簡略化されたモデルです:
@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 ...
}
助けてくれて本当にありがとうございます!