У меня есть следующий объект:
/**
* Campus domain model class.
* Handles information about campus.
*
* @author thomas.lang@th-deg.de
*/
@Data
@AllArgsConstructor(access = AccessLevel.PRIVATE, onConstructor = @__(@PersistenceConstructor))
public class Campus {
private final @Id
@Wither
long campusId;
@NotNull
@Size(min = 3)
private String campusName;
/**
* Creates a new campus.
*
* @param campusName
*/
public Campus(@NonNull String campusName) {
this.campusId = 0;
Assert.hasLength(campusName, "A valid value has to be provided for Campus!");
this.campusName = campusName;
}
}
Когда я хочу, чтобы JDBC сохранил тестовую запись, он генерирует этот sql:
[INSERT INTO campus (campus_name) VALUES (?)]
В моей существующей базе данных есть столбец с именем Campusname
Я прочитал в документе здесь https://docs.spring.io/spring-data/jdbc ... g-strategy, что я могу настроить стратегию именования, но я не знаю как
Спасибо за помощь!
С уважением!
Томас
Решение:
/**
* Naming strategy for naming entity columns
* @see How to implement {@link NamingStrategy}
*
* @return PhysicalNamingStrategy
*/
@Bean
public NamingStrategy namingStrategy() {
return new NamingStrategy() {
@Override
public String getColumnName(RelationalPersistentProperty property) {
Assert.notNull(property, "Property must not be null.");
return ParsingUtils.reconcatenateCamelCase(property.getName(), "");
}
};
}
Подробнее здесь: https://stackoverflow.com/questions/533 ... -data-jdbc
Мобильная версия