我不想使用DBRef。 我想要一个像这样的数据库: 不同的学校有自己的收藏品,如
每个集合都用于保存学生信息。
据我所知,我们可以使用@Document(collection =“school4”)或使用MongoTemplate操作来管理集合名称。但是我想使用MongoRepository。如果有人能帮助我,我将不胜感激。
答案 0 :(得分: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);
}
}