/ / Спадщина єдиного столу у весняному черевику та чебрецю - java, jpa, весняний черевик, чебрець

Спадщина однієї таблиці у весняному завантаженні та цибулі - java, jpa, весняно-черевик, чебрець

Я використовую успадкування однієї таблиці в JPA.

-Автомобіль
- Електронний автомобіль
- Бензин-Авто

У своєму шаблоні чебрець я отримую доступ до списку надкласу (автомобіля) через для кожного, щоб створити таблицю з об’єктами обох підкласів.

<tr th:each="car : ${cars}"
th:class="${not car.isECar()} ? "electricCar" : "notECar"">

Тепер у мене проблема, що я хочу отримати доступ до властивості підкласу, якого немає в іншому.

<td th:text=""kWh " + ${car.kwh}" style="vertical-align: center;">1025 kWh</td>

Це призводить до наступного винятку:

org.springframework.expression.spel.SpelEvaluationException: EL1008E: (поз. 6): властивість або поле "..." не можна знайти на об'єкті типу ...

Чи є спосіб видати HTML-тег, лише якщо існує властивість?

Відповіді:

2 для відповіді № 1

Гаразд, я знайшов вирішення:

Перш за все я написав метод у машині суперкласу, який повертає нуль.
У своєму підкласі E-Car я перезаписую метод, який повертає належне значення.

Тепер кожен автомобіль має метод, який називається getKWH (), і я можу отримати доступ до нього через:

<td th:text="${car.getKWH()} + " kWh"" th:if="${car.getKWH()!=null}">2200 kWh</td>