Я хочу извлекать выбранные столбцы , предпочтительно динамически.
Сейчас я указываю stati c столбцы - идентификатор, заголовок, описание.
Category. java
@Entity(name="Category")
@Table(name="categories")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String slug;
private String title;
private String description;
private String preview_image;
private int isFeatured;
/* Getters, setters etc */
}
CategoryRepository. java
public interface CategoryRepository extends JpaRepository<Category, Long> {
@Query(
value = "SELECT id, title, description FROM categories",
nativeQuery = true
)
List<Category> findAll();
}
Это выдает ошибку:
Столбец is_featured не найден. Класс исключения: класс org.springframework.dao.InvalidDataAccessResourceUsageException Exception [не удалось выполнить запрос; SQL [ВЫБРАТЬ id, заголовок, описание ОТ категории]; Вложенным исключением является org.hibernate.exception.SQLGrammarException: не удалось выполнить запрос]
Есть идеи, как решить эту ошибку? Я думал об использовании другой модели вместо Категория , но позже мне нужно сделать поля динамическими c. Трудно создать класс модели, если я не знаю, какие поля возвращать.
Кроме того, есть ли способ сделать этот @Query
код динамического c таким, чтобы он возвращал столбцы, упомянутые в параметре?
Любая помощь будет оценена. Заранее спасибо! :)