Hallo zusammen,
ich habe das Problem, dass meine Entity-Repositories nicht injected werden.
Diese sind mit @Resource annotiert:
Beide Repositories sind JpaRepositories:
Meine Konfiguration sieht wie folgt aus:
Hier noch der importierte Spring-Context:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd Index of /schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd Index of /schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd">
<!-- HSQLDB Configuration -->
<bean id="embeddedDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:database/data" />
<property name="username" value="SA" />
<property name="password" value="" />
</bean>
<!-- Base packages for JpaRepositories -->
<jpa:repositories base-package="org.houseoffice.budget.model.repositories" />
</beans>
[/XML]
Kann mir vielleicht jemand weiterhelfen. Google hat das bisher leider nicht getan.
Ich wäre sehr dankbar.
Gruß
Patrick
ich habe das Problem, dass meine Entity-Repositories nicht injected werden.
Diese sind mit @Resource annotiert:
Java:
@Repository
public class BudgetService implements IBudgetService {
@Resource
private IAccountRepository accountRepository;
@Resource
private IEntryRepository entryRepository;
Beide Repositories sind JpaRepositories:
Java:
public interface IAccountRepository extends JpaRepository<Account, Long> {
Account findByAccountNumber(String accountNumber);
}
Java:
public interface IEntryRepository extends JpaRepository<Entry, Long> {
}
Meine Konfiguration sieht wie folgt aus:
Java:
@Configuration
@ComponentScan(basePackages = "org.houseoffice.budget.model")
@ImportResource(value = "classpath:org/houseoffice/budget/config/spring-context.xml")
public class ApplicationConfig {
@Bean
public LocalContainerEntityManagerFactoryBean emf(final DataSource dataSource) {
final LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
emf.setDataSource(dataSource);
emf.setJpaDialect(new HibernateJpaDialect());
emf.setJpaVendorAdapter(jpaVendorAdapter());
emf.setPersistenceUnitManager(null);
emf.setPackagesToScan("org.houseoffice.budget.model.entities");
return emf;
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
final HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();
jpaVendorAdapter.setShowSql(true);
jpaVendorAdapter.setDatabase(Database.HSQL);
jpaVendorAdapter.setGenerateDdl(true);
return jpaVendorAdapter;
}
@Bean
public JpaTransactionManager transactionManager(final EntityManagerFactory emf) {
return new JpaTransactionManager(emf);
}
}
Hier noch der importierte Spring-Context:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd Index of /schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd Index of /schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd">
<!-- HSQLDB Configuration -->
<bean id="embeddedDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:file:database/data" />
<property name="username" value="SA" />
<property name="password" value="" />
</bean>
<!-- Base packages for JpaRepositories -->
<jpa:repositories base-package="org.houseoffice.budget.model.repositories" />
</beans>
[/XML]
Kann mir vielleicht jemand weiterhelfen. Google hat das bisher leider nicht getan.
Ich wäre sehr dankbar.
Gruß
Patrick