Я использую Spring Boot 2.1.3.RELEASE, Spring Data JPA для базы данных PostgreSQL.
В именах столбцов используются подчеркивания (например, created_by
), а бины сущностей - обычный Java camelCase createdBy
, getCreatedBy()
и т. Д.
Я пытаюсь написать собственный запрос с интерфейсом проекции, но получаю обратно null
значения.Пример:
public class MyEntity {
private String createdBy;
// getters and setters etc
// more fields here
}
public interface MyProjection {
String getCreatedBy();
}
public interface MyRepository extends JpaRepository<MyEntity, Long> {
@Query(value = "
SELECT DISTINCT cool_table.* FROM cool_table INNER JOIN
// more SQL things", nativeQuery = true
)
List<MyProjection> searchNative(String filter);
}
Когда я запускаю это, я получаю нулевое значение для столбцов, разделенных подчеркиванием (которые отлично работают с не нативными запросами).
В качестве эксперимента я добавил метод вмоя проекция называется getCreated_by()
, и она отлично работает ...
Я не хочу переименовывать все методы в моей проекции, чтобы в их именах были подчеркивания, потому что это выглядит некрасиво.Есть ли способ заставить собственные запросы работать вместе с проекциями?