如何使用同一个dao访问指向不同集合的不同存储库?

时间:2018-11-23 06:20:40

标签: java mongodb spring-boot

我正在使用两个分别指向两个Mongo集合A和B的存储库。两者都使用相同的dao。

示例:

**First repository:**
@Repository
@Document(collection="A")
public interface Repository1 extends MongoRepository<Object1, String>
{   
    @Query("{'userActionInfo.createdBy' : ?0 }")
    List<Object> fetchAllByCreatedUser(String userId);
}

**Second repository:**
@Repository
@Document(collection="B")
public interface Repository2 extends MongoRepository<Object1, String>
{

    @Query("{'userActionInfo.createdBy' : ?0 }")
    List<Object> fetchAllByCreatedUser(String userId);
}

**DAO:**
public class Object implements Auditable,Serializable 
{
    private static final long serialVersionUID = -2802725098896112551L;
    @Id 
    private String Id;  
    private String Name;
}

**Service**
public Object save(Object obj) throws Exception {
if (obj.Id() > 1)
    {
        obj.setSomething("Yes");
        updated = Repository2.save(obj);
    }else{
        obj.setSomething("No");
        original = Repository1.save(obj);
}
return obj;

我已经自动连接了服务中的两个存储库。我正在使用上述Object访问/保存服务中的数据,但是我无法保存/访问各个集合中的数据。任何建议我在哪里出错?

感谢您的帮助。

0 个答案:

没有答案