使用Spring data jpa 时,表字段(user_id)与实体(userId)不能对应,需要添加以下配置

峰与下划线的转化 通用配置:

application.properties 配置

无修改命名

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

遇到大写加下划线"_" 的命名

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

如果项目中使用的表既有下划线,又有驼峰,而且还不想使用@Column一个个标识:

application.properties

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

ReceptionDBConfig.class

// 配置字段

protected Map jpaProperties() {

Map 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();

}

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐