![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Embedded |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
Здравствуйте.
У меня такая проблема - есть сущность Auto от нее наследует сущность Truck.
Подскажите пожалуйста JPQL запрос, так чтобы выбрать только те сущности Auto которые не являются Truck. offtopic И сразу прошу прощения, за то, что делаю много не должных вопросов. Получается, что, то что я делаю на практике несколько обгоняет теорию и это первый язык программирования который я осваиваю, + параллельно изучаю html, css, javascript ..которые тоже ранее совсем не изведаны. Это сообщение отредактировал(а) Embedded - 29.5.2011, 22:34 |
||||
|
|||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Привет.
Думаю, в лоб и по-простому: замепить в Auto DiscriminatorColumn как readOnly (insertable = false, updatable = false) property. И написать такой JPQL:
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| Embedded |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
MisterCleric,
Вот в чем проблема... я когда смотрю что в БД postgresql и что-то не вижу для такого варианта наследования колонку DISCRIM и еще момент, как я понял JPQL оперирует сущностями, а в сущности же нет свойства discrim |
|||
|
||||
| MisterCleric |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Как это нету? Значит должна быть. Иначе оно у тебя не заработает. http://www.devx.com/Java/Article/33906/1954
Значит должно быть. Это меппинг на вот ту злосчастную колонку DISCRIM. Только нужно ее исключить из операций изменения данных -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
||||
|
|||||
| Embedded |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
MisterCleric,
Да я заметил что когда есть всего один класс унаследованные от базового, то он (hibernate) может быть считает что колонка ненужна и не делает ее. Потому что все работает, а колонки разграничителя в БД для Auto я не вижу. |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Поэтому сначала надо проектировать БД, а уже потом клиента. hibernate там тебе много чего начудит... Мне даже не нравиться, как он Entity по таблицам генерит... -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| Embedded |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
MisterCleric,
Эх братец, мне бы еще SQL изучить как следует и саму БД, а я так... вводный курс прочел. Тут такое дело что без сильного затягивания хочется получить результат а потом уже в более обстоятельна подойти к изучению. Честно сказать я по Java от силы треть 800 страничной книги прочел. Спасибо! Попробую далее поэкспериментировать. плюс за мной. |
|||
|
||||
| MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Ничего страшного: мы все через это проходили. Может ты бы не спешил с этими Inheritance?.. Думаю, когда ты в сущность Auto добавишь поле discim, как я описал, то оно однозначно в этой таблице появится -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
| RageSteel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 6.2.2010 Репутация: 1 Всего: 2 |
В JPA2 появилась функция Type.
|
|||
|
||||
| Embedded |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.2.2011 Где: Россия Репутация: 1 Всего: 1 |
RageSteel,
Спасибо Братец! Плюс за мной. MisterCleric,
Да вот такое дело что без наследования не обойтись.. Интересный момент я сделал более сложную ветвь наследования НО в постгрессе поле discim так и не появилось.. но как он их различает.. я не пойму, однако все работает правильно. Короче надо разбираться с постгрессом, с jpa и т.д. Еще раз спасибо! |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |