2013-07-13 2 views
0

Я не хочу использовать DBRef. Я хочу, чтобы база данных, как это: Different школы имеет собственную коллекцию, какКак использовать MongoRepository для CRUD в динамической коллекции

  1. название коллекции «school1-студенты»
  2. названия коллекции «school2-студенты»
  3. названия коллекции «school3-студенты». .....

Каждая коллекция используется для сохранения информации о студентах.

Как я знаю, мы можем использовать @Document (collection = "school4") или использовать операции MongoTemplate для управления именем коллекции. Однако я хочу использовать MongoRepository. Буду признателен, если кто-нибудь сможет мне помочь в этом.

ответ

0

Что-то, как это должно работать:

public class PerSchoolStudentRepository { 
    public static CrudRepository<Student, ObjectId> buildRepository(String school, MongoOperations mongoOperations) { 
     MongoPersistentEntity<Student> persistentEntity = (MongoPersistentEntity<Student>) mongoOperations.getConverter().getMappingContext().getPersistentEntity(Student.class); 
     MongoEntityInformation<Student, ObjectId> mongoEntityInformation = new MappingMongoEntityInformation<Student, ObjectId>(persistentEntity, school+"Students"); 
     return new SimpleMongoRepository<Student, ObjectId>(mongoEntityInformation, mongoOperations); 
    } 
} 
Смежные вопросы