我有以下的JPA實體:問題與Java 8流的數據採集接口
@Entity
public class Message {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@ManyToOne(fetch = FetchType.LAZY)
private Member sender;
@NotNull
@ManyToOne(fetch = FetchType.LAZY)
private Member recipient;
從消息的集合(Collection<Message> messages
)我想通過無論是在收件人或發件人字段分組獲得Map<Member, List<Message>> messageMap
。
爲了進一步定義我的用例,連接的成員(currentMember)有一些發送和接收的消息附加到它的實例。我想要檢索與消息添加到將包含所有連接構件的消息(發送或接收)的集合如下:
Collection<Message> messages = new ArrayList<Message>();
messages.addAll(currentMember.getSentMessages());
messages.addAll(currentMember.getReceivedMessages());
和用於與該當前成員已在交換彼此/相對構件至少一條消息,我想獲得所有交換消息的列表。
然後我就可以構建上面的Map<Member, List<Message>> messageMap
。
這是可能的開箱即用的API或我需要實現我自己的收藏家嗎?