【问题标题】:Spring with embedded derby: hibernate dialect deprecation带有嵌入式 derby 的 Spring:hibernate 方言弃用
【发布时间】:2014-05-09 15:22:35
【问题描述】:

我有一个配置了 spring boot 和 config annotations 的 spring 应用程序。

JPA 配置为:

@Configuration
@EnableTransactionManagement
@EnableJpaRepositories
public class JpaConfiguration {

    @Bean
    public DataSource dataSource() {
        return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.DERBY).build();
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
            JpaVendorAdapter jpaVendorAdapter) {
        LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
        lef.setDataSource(dataSource);
        lef.setJpaVendorAdapter(jpaVendorAdapter);
        lef.setPackagesToScan( /* "..." */ );
        return lef;
    }

    @Bean
    public JpaVendorAdapter jpaVendorAdapter() {
        HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
        hibernateJpaVendorAdapter.setShowSql(true);
        hibernateJpaVendorAdapter.setGenerateDdl(true);
        hibernateJpaVendorAdapter.setDatabase(Database.DERBY);
        return hibernateJpaVendorAdapter;
    }

    @Bean
    public PlatformTransactionManager transactionManager() {
        return new JpaTransactionManager();
    }
}

我一直在日志中:

[...]
HHH000400: Using dialect: org.hibernate.dialect.DerbyDialect
HHH000430: The DerbyDialect dialect has been deprecated; use one of the version-specific dialects instead
[...]

我尝试添加:

@Bean
public DerbyTenSevenDialect jpaDialect() {
    return new DerbyTenSevenDialect();
}

但是返回的bean不兼容:

LocalContainerEntityManagerFactoryBean lef //.....
lef.setJpaDialect(JpaDialect);

如何消除弃用警告?

【问题讨论】:

    标签: spring hibernate jpa derby spring-annotations


    【解决方案1】:

    完全放弃以下行(不要用其他任何东西替换它):

    hibernateJpaVendorAdapter.setDatabase(Database.DERBY);
    

    这就是我所做的一切,并且 Hibernate 正确记录了:

    Using dialect: org.hibernate.dialect.DerbyTenSevenDialect
    

    之后就不需要手动定义方言 Bean。 Hibernate 自己找出正确的方言

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多