У меня есть POJO, что является объект А, таблицы TableAHibernate - Декларирование преходящее объект в POJO
TableA (int a1,int a2)
.
Чтобы заполнить таблицу, я выполнить запрос, который возвращает (INT a1, Int a2, логическое b3) (и запускает многочисленные проверки данных)
b3 не является допустимым в TableA, но я все равно хочу использовать тот же Pojo для обоих (это очень большой POJO, и это будет главным код дублирования, чтобы один раз для запроса)
Я объявленным в POJO
@Transient
Boolean getB3() {..}
void setB3(Boolean b3) {..}
и в запрос Я объявил, что ожидаю получить значение b3:
<return> ...
<return-property name="b3" column="b3"/>
...
</return>
Но Hibernate просто игнорирует параметр и никогда не использовать «setB3()» .. Когда я удалить @Transient, он работает (и затем не при вставке в таблицу, естественно) - так что все имена правильный
Как это исправить?
Спасибо!
О формуле - хорошая идея, но она не будет работать, потому что результат основан на других полях запроса, которые не находятся в таблице. Что касается другого варианта, я пытаюсь избежать этого, потому что он будет требуется также интерфейс + 2 класса, и все, что я хочу, это pojo :( – Yossale
Что плохого в отношении двух классов и интерфейса, если нет дублирования? –
Я думаю, что я не совсем понял, что я имел в виду с Формальный подход. Отредактирован ответ, чтобы уточнить его. –