【问题标题】:persistence.xml using java configuration使用java配置的persistence.xml
【发布时间】:2014-05-27 19:23:51
【问题描述】:

为什么需要persistence.xml文件:

@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages="es.japanathome")
public class DataAccessConfig
{

@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory emf)
{
    JpaTransactionManager txManager = new JpaTransactionManager();
    txManager.setEntityManagerFactory(emf);
    return txManager;
}

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory()
{
    LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();

    HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    vendorAdapter.setGenerateDdl(Boolean.TRUE);
    vendorAdapter.setShowSql(Boolean.TRUE);

    factory.setJpaVendorAdapter( vendorAdapter );
    factory.setDataSource( dataSource() );
    factory.setPackagesToScan("es.japanathome.domain");
    factory.setLoadTimeWeaver(new InstrumentationLoadTimeWeaver());
    return factory;
}

Spring 知道在哪里可以找到我的实体,所以我不明白为什么仍然需要这个文件。

【问题讨论】:

  • persistence.xml 用于定义持久性单元以及此持久性将使用的类。

标签: java spring hibernate jpa spring-data-jpa


【解决方案1】:

根据您使用的 Spring 版本,您可能不需要提供 persistence.xml。

自 Spring 3.1 起,在使用 LocalContainerEntityManagerFactoryBean 时需要 persistence.xml is no longer explicitly。基本上添加了packagesToScan 允许Spring 找到@Entity 类。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2014-05-25
    相关资源
    最近更新 更多