2015-03-09 4 views
1

Все DAO у меня в системе только интерфейсы, как это:Использование интерфейса JpaRepository. Как я могу заставить entitymanager установить свойство?

public interface UserDAO extends JpaRepository<User, String> { 
    User findByUsername(String username); 
    Page<User> findAll(Pageable pageable); 
} 

И это все.

Но теперь мне нужно установить свойство в entitymanager. Как я могу получить entitymanager в моем интерфейсе?

фасоль:

<bean id="transactionManager" 
     class="org.springframework.orm.jpa.JpaTransactionManager" 
     p:entityManagerFactory-ref="entityManagerFactory" /> 

Но мне нужно, чтобы установить это свойство в моей DAO, потому что это свойство зависит от зарегистрированного пользователя.

+1

Можете ли вы предоставить вашей конфигурации XML с пружинной JPA? Обычно EntityManager должен быть настроен как весенний боб. –

ответ

3

Вам нужно будет создать пользовательский репозиторий, как описано в документации по весенним данным. Это можно сделать для одного репозитория или для всех репозиториев.

Процесс ясно описан ниже.

http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.single-repository-behaviour

Смежные вопросы