| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Hibernate JPA: последовательность столбцов |
| Автор: Andrey1 14.9.2009, 22:29 | ||||||
Вылетает вот такой exception:
Exception вылетает тут:
Проблема в том, что 1) Запрос идет к Fieldvalue, а exception вылетает для Solution. 2) jpa.entity.SolutionPK[solutionId=1849, taskId=2002, moduleId=4] действительно не существует, поскольку перепутаны значения составных значений ключа (должно быть taskId=4). 3) Порядок полей ключа в jpa.entity.SolutionPK и в Fieldvalue такой же, как описан в базе. 4) Fieldvalue действительно связан с Solution как @ManyToOne.
Откуда берется неправильная последовательность столбцов? |
| Автор: MisterCleric 15.9.2009, 09:14 | ||||
Привет. Ты знаешь, я как-то не заморачивался на разные способы меппинга композитного ключа. Один раз выбрал для себя способ и всегда усе работает:
итого: у тебя в запросе будет просто:
что-то я как раз нарекаю на вот эту конструкцию o.id.solutionId Покажи запрос, который сгенерировался при вызове |
| Автор: Andrey1 15.9.2009, 09:45 | ||||
С тем запросом все в порядке. Проблема с запросом по связи:
Исправил в Fieldvalue порядок столбцов на:
и ошибка пропала. Хм. Почитал описание @JoinColumns и узнал, что обязательно нужно описывать referencedColumnName="TASK_ID". Описал. Теперь правильно работает при любом порядке |