Spring Data MongoDB :установить коллекцию репозитория?

как указать коллекцию, из которой должен состоять мой репозиторий?

Моя конфигурация:

<!-- Database -->
<mongo:mongo id="mongoDb" host="localhost" port="27017"/>
<mongo:db-factory id="mongoDbFactory" mongo-ref="mongoDb" dbname="test"/>

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>

<mongo:repositories base-package="de.cochu.springtest.mongodb.repositories"/>

Мой документ:

@Document
public class User {

    @Id String id;
    @Indexed String email;

   ...getters and setters omitted...

}

репозиторий для пользователь -коллекция (находится внутри пакета... mongodb.repositories ). Я расширил CrudRepository:

public interface UserRepository extends CrudRepository<User, String>{
    User findByEmail(String email);
}

и, наконец, контроллер моего сервлета Spring, в котором я хочу использовать UserRepository:

@Controller
public class MyController {

    @Autowire UserRepository repo;

    @RequestMapping("/test.html")
    public String something(HttpServletRequest request) {
        User u = userRepository.findByEmail(request.getParameter("email"));
       ...
    }

}

Я настроил несколько примеров пользователей через консоль, mongoTemplate.getCollection ("users" ).count ()работает нормально. Репозиторий ничего не находит.

... откуда UserRepository знает, что я хочу поиск пользователей в коллекции «пользователи»?/Правильный ли это способ использования репозиториев?

... Intellij IDEA не распознает автоматическое связывание UserRepository.Хотя он отображает ошибку, он компилируется и не выдает исключений Могу ли я что-нибудь с этим сделать?

6
задан Eike Cochu 25 April 2012 в 17:50
поделиться