Наконец-то, спасибо! Вроде помогло, но не совсем. Теперь пишет такую ошибку:
o.h.e.jdbc.spi.SqlExceptionHelper - Значение NULL не разрешено для поля "NAME"
NULL not allowed for column "NAME"; SQL statement:
insert into sub_model (id, name, version) values (null, ?, ?)
В принципе так то оно логично пишет - действительно поле name - не nullable, но зачем ему вообще понадобилось делать туда insert? В этой таблице уже есть запись с таким id 100%. Нельзя как-то сделать чтобы оно вообще не дергало ту таблицу? Просто записало в таблицу my_model эту запись с указанным sub_model_id и все.
Ivan Sokolov: Т.е. там как-то компилятор преобразует foreach для коллекций в вид с итераторами, а для массивов в вид с индексами? Ну очень странное решение. Реально, почему нельзя было сделать и массивы iterable? :(
Жаль. А вообще для коллекций какой наиболее базовый класс/интерфейс? Iterable? Collection? Или что-то еще? Я имею ввиду что-то к чему можно скастить любую коллекцию.
Александр Опарин: ну по крайней мере MyModel$2. Но никак не MyMapper$2. Он к мапперу вообще никак не относится. Он не наследник маппера, он лишь в нем создается.
Александр Опарин: Ну ок, пусть даже такая инициализация создает анонимный класс - наследник. Но ведь разве он не должен наследоваться от того класса который собственно создается? Почему он отнаследовался от маппера, а не от модели? Притом он еще и получил свойства модели. Это какой-то взрыв мозга...
Дмитрий Александров: Уверен? Каталист же ставит дрова от производителя: fglrx. Я слышал что они там все очень древние и не рабочие. А как раз опенсорсный amdgpu-pro вроде как свежее и более рабочий.
P.S. Да, знаю ноутбук не топ, но скажем Mint Cinnamon у меня год стоял - тормозов не замечено. Просто честно говоря я очень люблю красивые интерфейсы типа KDE, чего уж точно не скажешь о xfce/lxde. :( Еще подумываю поставить Ubuntu Budgie. Тоже охренительно красивая система.
А хотя я хз. Вот, насколько я понимаю у меня именно эта модель: sony vaio sve111b11v (на корпусе написано). Точно такую же в интернете почему-то так и не нашел...
Этот способ не работает. Во всяком случае для вложенных объектов. Т.е. в том объекте который принимает параметр помеченный аннотацией Valid нечего валидировать, но в нем есть вложенные объекты в которых есть поля помеченные валидирующими аннотациями и при передаче неверных данных ничего не происходит.
Я уже сказал что никак не могу в этом убедиться. Тем более что я не знаю ни одного стороннего инструмента способного работать с H2. IDEA ее не поддерживает.
Ну или маппинг, проблемы с ним.
Это очевидно что с ним. Точнее с транслированием HQL в SQL скорее всего. Но это все равно не проясняет почему это происходит.
В принципе так то оно логично пишет - действительно поле name - не nullable, но зачем ему вообще понадобилось делать туда insert? В этой таблице уже есть запись с таким id 100%. Нельзя как-то сделать чтобы оно вообще не дергало ту таблицу? Просто записало в таблицу my_model эту запись с указанным sub_model_id и все.