0

我不想使用 DBRef。我想要一个这样的数据库:不同的学校有自己的集合,比如

  1. 集合名称“school1-students”
  2. 集合名称“school2-students”
  3. 集合名称“school3-students”......

每个集合都用于保存学生信息。

据我所知,我们可以使用 @Document(collection = "school4") 或使用 MongoTemplate 操作来管理集合名称。但是我想使用 MongoRepository。如果有人可以帮助我,我将不胜感激。

4

1 回答 1

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);
    }
}
于 2013-07-28T04:09:40.240 回答