Spring Data Mongodb-用于收集不同类型的存储库

Spring Data Mongodb-用于收集不同类型的存储库,第1张

Spring Data Mongodb-用于收集不同类型的存储库

如果Node LeafType1
LeafType2是AbstractMyCollectionNode的子类,那么事情将会很容易。只需像编写时那样声明存储库:

public interface MyCollectionRepository extends MongoRepository<AbstractMyCollectionNode, String> { }

我们已经在一个项目中做到了这一点,并且效果很好。Spring Data将在mongodb集合中的文档中添加一个名为“
_class”的属性,以便可以指出要实例化的类。

存储在一个集合中的文档可能有一些相似之处,也许您可​​以为它们提取一个通用类。

以下是从我们的项目之一复制的一些代码:

实体:

public abstract class document {    private String id;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    ....

public class WebClipdocument extends document {    private String digest;    ...

仓库:

public interface documentDao extends MongoRepository<document, String>{...

并且 ,如果您的mongodb集合中的文档不具有“
_class”属性。您可以使用Converter:

在存储和查询对象时,让MongoConverter实例处理所有Java类型到DBObjects的映射很方便。但是,有时您可能希望MongoConverter完成大部分工作,但允许您有选择地处理特定类型的转换或优化性能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存