我的系统是一个动态遥测系统。我们有数百种不同的蜘蛛都将遥测发送回SpringBoot服务器,一切都是动态的,由Mongo中的json文件驱动,包括UI。我们不构建UI,而不是单个团队可以通过编辑json docs来配置他们自己的UI以满足他们的需求。
我们大部分的UI都在运行,我开始使用中间件。我们首次使用Spring Boot和Spring Data Mongo以及几个用于事件的MQ侦听器。问题是Spring Data。我开始阅读它上面的文档,我意识到如果没有POJO,文档就不会使用它。我有这个奇妙的动态模型,如果遥测蜘蛛指示每个用户每分钟更改,如果我尝试的话,我无法将其束缚到POJO。有没有办法将Spring Data与Map一起使用?
从我的实验中可以看出,最大的问题是没有办法告诉存储库类的CRUD例程,在没有POJO的情况下查询哪些集合。
我的怀疑是否正确,因为这不起作用,我最好放弃Spring Data并直接使用Mongo驱动程序?
答案 0 :(得分:0)
在使用spring-data时,我认为你可以在没有pojo的情况下做到这一点。你能做的最少的就是这个
public interface NoPojoRepository extends MongoRepository<DummyPojo, String> {
}
创建一个只有id和Map的虚拟pojo。
@Data
public class DummyPojo {
@Id
private String id;
private Map<String, Object> value;
}
由于此值字段是地图,因此您可以存储几乎任何内容。