Spring Data JPA column 駝峯與下劃線的轉化

使用Spring data jpa 時,表字段(user_id)與實體(userId)不能對應,須要添加如下配置spring

參考:https://www.jianshu.com/p/fc2c79814956app

峯與下劃線的轉化 通用配置:

application.properties 配置ui

無修改命名hibernate

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

遇到大寫加下劃線"_" 的命名code

spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

若是項目中使用的表既有下劃線,又有駝峯,並且還不想使用@Column一個個標識:

application.propertiesorm

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

ReceptionDBConfig.classci

// 配置字段
protected Map<String, Object> jpaProperties() {
        Map<String, Object> props = new HashMap<>();
        props.put("hibernate.physical_naming_strategy", SpringPhysicalNamingStrategy.class.getName());
        props.put("hibernate.implicit_naming_strategy", SpringImplicitNamingStrategy.class.getName());
        return props;
    }

@Bean(name = "receptionEntityManagerFactory")
    public LocalContainerEntityManagerFactoryBean kcEntityManagerFactory(EntityManagerFactoryBuilder builder,
            @Qualifier("receptionDataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.icil.elsa.milestone.query.entities.reception")
                .persistenceUnit("reception")
                .properties(jpaProperties())  // 引入屬性配置
                .build();
    }
相關文章
相關標籤/搜索