【问题标题】:Why is Spring Boot Starter Mongodb Reactive not saving the List fields of my entities?为什么 Spring Boot Starter Mongodb Reactive 不保存我的实体的列表字段?
【发布时间】:2019-10-30 09:50:50
【问题描述】:

我无法弄清楚为什么我的实体的列表字段在使用 Spring Boot Mongodb Reactive 保存时没有被持久化。

这是我的联系人实体的样子:

@Data
@Document
public class Contact {
    private String id;

    @DBRef
    private User owner;

    private List<String> messageIds;

    private Message lastMessage;

    private LocalDateTime lastMessageAt;

    public boolean addMessageId(String message) {
        if (messageIds == null) {
            messageIds = new ArrayList<>();
        }
        return messageIds.add(message);
    }
}

我使用这个存储库保存它:

public interface ContactRepository extends ReactiveMongoRepository<Contact, String> {

    Mono<Contact> findByOwnerId(String ownerId);

}

除了 messageIds 列表之外的所有内容都可以很好地持久化。我已经从直接拥有消息列表切换,但到目前为止这并没有帮助。

调试器还在 repo save 调用之前显示 messageIds 列表。

已经在没有任何运气的情况下寻找解决方案。我在这里错过了显而易见的事情吗?

【问题讨论】:

    标签: java mongodb spring-boot spring-data reactive-programming


    【解决方案1】:

    其实就是这么简单:

    我忘记订阅将我的实体保存在反应链中的内部可观察对象。

    【讨论】:

    • 您能详细说明订阅内部可观察对象吗?
    猜你喜欢
    • 2017-03-23
    • 2017-06-17
    • 1970-01-01
    • 2021-07-03
    • 2015-04-01
    • 1970-01-01
    • 2021-10-10
    • 2020-05-23
    相关资源
    最近更新 更多