Boot-strapping Spring Data JPA without XML
-
18-02-2021 - |
Question
What is the Java @Configuration
equivalent to:
<repositories base-package="com.acme.repositories" />
in Spring Data JPA? I am trying to get rid of XML configuration in favour to @Configuration
classes, however reading through JpaRepositoryConfigDefinitionParser sources is fruitless.
The closest what I can get is:
@Bean
public RepositoryFactorySupport repositoryFactory() {
return new JpaRepositoryFactory(entityManagerFactory().createEntityManager())
}
@Bean
public BookDao bookDao() {
return repositoryFactory().getRepository(BookDao.class)
}
However the <repositories/>
tag is much more functional: it automatically creates DAO for all interfaces extending CrudRepository
found on CLASSPATH. Also it seems like my solution does not apply transactions to DAOs as opposed to default Spring Data JPA behaviour.
La solution
Spring Data JPA introduced @EnableJpaRepositories
. See the reference documentation for details.
Autres conseils
Looks like not possible yet: https://jira.springsource.org/browse/DATAJPA-69
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow