В чем разница между MongoTemplate и MongoRepository в Spring Data?

Мне нужно написать приложение, с помощью которого я могу выполнять сложные запросы, используя spring-data и mongodb. Я начал с использования MongoRepository, но боролся со сложными запросами, чтобы найти примеры или понять синтаксис.

Я говорю о таких запросах:

@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
    List<User> findByEmailOrLastName(String email, String lastName);
}

или использование запросов на основе JSON, которые я пробовал методом проб и ошибок, потому что я не понимаю синтаксис правильно. Даже после прочтения документации mongodb (нерабочий пример из-за неправильного синтаксиса).

@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
    @Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]")
    List<User> findByEmailOrFirstnameOrLastnameLike(String searchText);
} 

После прочтения всей документации кажется, чтоmongoTemplate гораздо лучше задокументировано, тоMongoRepository, Я имею в виду следующую документацию:

http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/

Можете ли вы сказать мне, что является более удобным и мощным в использовании?mongoTemplate или жеMongoRepository? Являются ли они одинаково зрелыми или у одного из них больше возможностей, чем у другого?

Ответы на вопрос(3)

Ваш ответ на вопрос