如何在Spring Data JPA中设置Hibernate命名策略

first_time_user

我使用Spring Data JPA并使用多个数据库,因此我必须自己配置它而不是使用@HibernateJpaAutoConfiguration

public class TesterDbConfig {

    @Autowired(required = false)
    private PersistenceUnitManager persistenceUnitManager;


    @Bean
    public JpaProperties testerJpaProperties() {
        JpaProperties jpaProperties = new JpaProperties();
        return jpaProperties;
    }

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "datasource.primary")
    public DataSource testerDataSource() {
        return (DataSource) DataSourceBuilder.create().type(DataSource.class).build();
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean testerEntityManager(
        JpaProperties testerJpaProperties) {
        EntityManagerFactoryBuilder builder = createEntityManagerFactoryBuilder(testerJpaProperties);
        return builder.dataSource(testerDataSource()).packages(Cabang.class).persistenceUnit("primary")
            .build();
    }

    @Bean
    public JpaTransactionManager testerTransactionManager(EntityManagerFactory testerEntityManager) {
        return new JpaTransactionManager(testerEntityManager);
    }

    private EntityManagerFactoryBuilder createEntityManagerFactoryBuilder(
        JpaProperties testerJpaProperties) {
        JpaVendorAdapter jpaVendorAdapter = createJpaVendorAdapter(testerJpaProperties);
        return new EntityManagerFactoryBuilder(jpaVendorAdapter, testerJpaProperties,
            this.persistenceUnitManager);
    }

    private JpaVendorAdapter createJpaVendorAdapter(JpaProperties testerJpaProperties) {
        AbstractJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
        adapter.setShowSql(testerJpaProperties.isShowSql());
        adapter.setDatabase(testerJpaProperties.getDatabase());
        adapter.setDatabasePlatform(testerJpaProperties.getDatabasePlatform());
        adapter.setGenerateDdl(testerJpaProperties.isGenerateDdl());
        return adapter;
    }
}

这样,每次创建模型时,都必须@Column在每个变量中使用,因为在数据库中,我使用蛇形大小写,而在模型类中,我使用骆驼形大小写。

如何设置Hibernate命名策略?

Bohuslav Burghardt

您可以通过进行设置JpaProperties,您已在配置中使用

@Bean
public JpaProperties testerJpaProperties() {
    JpaProperties jpaProperties = new JpaProperties();
    JpaProperties.Hibernate hibernate = new JpaProperties.Hibernate();
    hibernate.setNamingStrategy(SpringNamingStrategy.class);
    jpaProperties.setHibernate(hibernate);
    return jpaProperties;
}

并添加

@Bean
public LocalContainerEntityManagerFactoryBean testerEntityManager(
    JpaProperties testerJpaProperties) {
    EntityManagerFactoryBuilder builder = createEntityManagerFactoryBuilder(testerJpaProperties);
    return builder.dataSource(testerDataSource())
        .packages(Cabang.class)
        .persistenceUnit("primary")
        .properties(Collections.singletonMap("hibernate.ejb.naming_strategy",testerJpaProperties.getHibernate().getNamingStrategy()))
        .build();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Spring Data Elasticsearch 中为 IndexQuery 设置 OpType

来自分类Dev

如何在Spring Data JPA中使用JBossTS(Narayana)

来自分类Dev

如何在Spring Cloud Data Flow中为Spring Batch作业设置调度程序?

来自分类Dev

如何在不进行组件扫描的情况下设置Spring Data JPA存储库

来自分类Dev

Spring Data JPA-如何在检索后设置瞬态字段

来自分类Dev

如何在JPA(Spring Data JPA)中实现简单的全文本搜索?

来自分类常见问题

如何设置Spring Data JPA存储库?

来自分类Dev

如何设置Spring Data JPA存储库?

来自分类Dev

如何在Spring Data中对case语句的结果进行排序?

来自分类Dev

如何在Spring Data ElasticSearch中管理多个用户索引

来自分类Dev

如何使用现代的Spring Boot + Data JPA和Hibernate设置生成ddl创建脚本?

来自分类Dev

如何在Spring Data(和Spring Data Rest)中通过Java Config配置审核?

来自分类Dev

如何在Spring Data JPA中向现有实体添加新字段/值

来自分类Dev

如何在Spring Data(JPA)派生查询中按多个属性排序?

来自分类Dev

Spring Data JPA:如何在集合中查找一列?

来自分类Dev

如何在Spring Boot Data JPA中的@Entity之间链接外键

来自分类Dev

如何在Spring Data JPA中向现有实体添加新字段/值

来自分类Dev

如何在Spring Data JPA中运行辅助/增强查询以确定计算值?

来自分类Dev

如何在Spring Data Jpa中根据列表的顺序保存许多内容

来自分类Dev

如何在 Spring Data JPA 中实现与额外列的多对多关系?

来自分类Dev

Spring Data REST 如何在 json 中返回 hibernate-JPA 验证和服务器内部错误而不是堆栈跟踪

来自分类Dev

如何在Spring Data Cassandra XML配置中设置一致性级别

来自分类Dev

@CreatedBy在Spring Data JPA中如何工作?

来自分类Dev

如何在spring-boot中禁用spring-data-mongodb自动配置

来自分类Dev

如何在Spring MVC控制器中应用Spring Data投影?

来自分类Dev

如何在Spring Boot / Spring Data中为Amazon RDS Mysql启用SSL?

来自分类Dev

如何在 Spring Boot 中捕获 hibernate/jpa 约束违规?

来自分类Dev

如何在Spring Data JPA中使用多个JPA持久性上下文?

来自分类Dev

Spring Data JPA @Query是动态的还是命名的?

Related 相关文章

  1. 1

    如何在 Spring Data Elasticsearch 中为 IndexQuery 设置 OpType

  2. 2

    如何在Spring Data JPA中使用JBossTS(Narayana)

  3. 3

    如何在Spring Cloud Data Flow中为Spring Batch作业设置调度程序?

  4. 4

    如何在不进行组件扫描的情况下设置Spring Data JPA存储库

  5. 5

    Spring Data JPA-如何在检索后设置瞬态字段

  6. 6

    如何在JPA(Spring Data JPA)中实现简单的全文本搜索?

  7. 7

    如何设置Spring Data JPA存储库?

  8. 8

    如何设置Spring Data JPA存储库?

  9. 9

    如何在Spring Data中对case语句的结果进行排序?

  10. 10

    如何在Spring Data ElasticSearch中管理多个用户索引

  11. 11

    如何使用现代的Spring Boot + Data JPA和Hibernate设置生成ddl创建脚本?

  12. 12

    如何在Spring Data(和Spring Data Rest)中通过Java Config配置审核?

  13. 13

    如何在Spring Data JPA中向现有实体添加新字段/值

  14. 14

    如何在Spring Data(JPA)派生查询中按多个属性排序?

  15. 15

    Spring Data JPA:如何在集合中查找一列?

  16. 16

    如何在Spring Boot Data JPA中的@Entity之间链接外键

  17. 17

    如何在Spring Data JPA中向现有实体添加新字段/值

  18. 18

    如何在Spring Data JPA中运行辅助/增强查询以确定计算值?

  19. 19

    如何在Spring Data Jpa中根据列表的顺序保存许多内容

  20. 20

    如何在 Spring Data JPA 中实现与额外列的多对多关系?

  21. 21

    Spring Data REST 如何在 json 中返回 hibernate-JPA 验证和服务器内部错误而不是堆栈跟踪

  22. 22

    如何在Spring Data Cassandra XML配置中设置一致性级别

  23. 23

    @CreatedBy在Spring Data JPA中如何工作?

  24. 24

    如何在spring-boot中禁用spring-data-mongodb自动配置

  25. 25

    如何在Spring MVC控制器中应用Spring Data投影?

  26. 26

    如何在Spring Boot / Spring Data中为Amazon RDS Mysql启用SSL?

  27. 27

    如何在 Spring Boot 中捕获 hibernate/jpa 约束违规?

  28. 28

    如何在Spring Data JPA中使用多个JPA持久性上下文?

  29. 29

    Spring Data JPA @Query是动态的还是命名的?

热门标签

归档