wan*_*ist 7 spring spring-data spring-data-jpa
我正在尝试使用Java配置JPA.
我知道@EnableJpaRepositories相当于jml中的jpa:repositories标签,但我想情况并非如此?
我在我的xml中有这个:
<jpa:repositories base-package="com.myapp.bla.bla" />
Run Code Online (Sandbox Code Playgroud)
但如果我删除它而改为使用
@EnableJpaRepositories("com.myapp.bla.bla")
Run Code Online (Sandbox Code Playgroud)
在我的java配置中,我得到一个例外 - 我认为从1.2.0开始可以用Java配置JPA吗?
编辑:
根异常是:
No bean named 'entityManagerFactory' is defined
Run Code Online (Sandbox Code Playgroud)
我假设异常与我的配置中的这个定义有关,但如上所述,如果我保留xml并将其导入我的java配置,一切都有效.
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() throws ClassNotFoundException {
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
factoryBean.setDataSource(dataSource());
factoryBean.setPackagesToScan(new String[] { "com.myapp.bla.bla.model" });
factoryBean.setPersistenceProviderClass(HibernatePersistence.class);
Properties props = new Properties();
props.put("hibernate.dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");
factoryBean.setJpaProperties(props);
return factoryBean;
}
Run Code Online (Sandbox Code Playgroud)
问题是您当前的配置会创建一个名为entityManagerFactoryBean的bean .但是,根异常的错误消息表明找不到名为entityManagerFactory的bean .
您有两种方法可以解决此问题(选择您最喜欢的问题):
| 归档时间: |
|
| 查看次数: |
4357 次 |
| 最近记录: |