Попытка передать имя столбца в качестве параметра, но JPA устанавливает его как значение, заключив его в одинарные кавычки.
@NamedNativeQueries({
@NamedNativeQuery(
name = "Genre.findAllLocalized",
query = "SELECT "
+ " CASE "
+ " WHEN ? IS NULL THEN genre_default"
+ " ELSE ? "
+ " END localized_genre "
+ "FROM genre ORDER BY localized_genre")
})
Тогда:
List<String> res = em.createNamedQuery("Genre.findAllLocalized")
.setParameter(1, colName)
.setParameter(2, colName)
.getResultList();
Проблема в том, что переданные имена столбцов принимаются как значения , поэтому результат будет возвращать список результатов с повторяющимися значениями "col_name"
вместо выбора значения столбца, переданного в качестве параметра.
Это достижимо?