Spring Data Mongo - 重用没有索引的实体类

时间:2016-01-26 12:00:10

标签: java mongodb spring-data spring-data-mongodb

我正在构建一个域模型,并使用Spring Data Mongo注释注释类,以将它们映射到mongo集合和文档。

假设我有以下情况。有两个实体类:

  • 客户

    @TypeAlias("customer")
    @Document(collection = "customers")
    public class Customer implements Identifiable<String> {
    
        @Id
        @Size(min = 8, max = 32)
        private String id;
    
        @NotNull
        @Indexed
        private String name;
    
        // (... setters and getters are skipped)
    }
    
  • 权利要求

    @TypeAlias("claim")
    @Document(collection = "claims")
    public class Claims implements Identifiable<String> {
    
        @Id
        @Size(min = 8, max = 32)
        private String id;
    
        private Customer customer;
    
        // (... setters and getters are skipped)
    }
    

请考虑以下情形 - 运营商正在搜索客户(使用名称字段上的索引),然后使用客户对象的副本创建声明。创建声明后可以更改客户对象,但不应影响声明数据(这就是复制用户的原因)。实际情况涉及更大的实体。

问题是 - 如何在重用域对象(没有或最少代码重复)的情况下,阻止在索赔集合上创建索引customer.name

提前致谢。

0 个答案:

没有答案