|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
есть вот такой абстракт класс Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
есть его наследник Код: java 1. 2. 3. 4. 5. 6.
таблица создается отлично,но вот не могу написать метод ,чтобы сделат выборку по типу Код: java 1. 2. 3. 4.
ругается на этот метод Код: html 1. 2.
хотя в таблице это поле есть и в сущностях описано- не пойму чего ему не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 12:38 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79, скорее всего Discriminator Column не является полем для хибера. Никогда на Spring Data наследование не реализовывал. раз уж ты полез в извращения то можно добавь свой маппинг и ищи по нему. Код: java 1. 2.
Либо попробуй интерфейсы переписывать, под конкретные реализации JpaRepository<QuestionOOP> JpaRepository<QuestionRepo> Вариантов тьма :) , только нужно найти хоть один рабочий. Ну а лучше spring-data reference почитать, что они пишут насчет схем наследования. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 12:57 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0раз уж ты полез в извращения+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:04 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0asv79, скорее всего Discriminator Column не является полем для хибера. Никогда на Spring Data наследование не реализовывал. раз уж ты полез в извращения то можно добавь свой маппинг и ищи по нему. Код: java 1. 2.
Либо попробуй интерфейсы переписывать, под конкретные реализации JpaRepository<QuestionOOP> JpaRepository<QuestionRepo> Вариантов тьма :) , только нужно найти хоть один рабочий. Ну а лучше spring-data reference почитать, что они пишут насчет схем наследования. если делать под каждый класс свою реализацию интерфейса - то теряется смысл наследования) поле Type -из той же оперы,тогда проще вообще все обьеденить в одну таблицу и вместо наследования добавить какой то enum и по нему уже дергать,что в принципе наверно и будет самым оптимальным решением но я уверен есть способ дергать и по типу,который мы сами прописваем вот тут @DiscriminatorValue("OOP") а так по логике у нас же нет поля такого в сущности ,но есть в таблице видимо тут надо действовать тоесть вот руками если я напишу запрос - он спокойно отрабатывает - потому что физически это поле есть в таблице а вот как прописать правильный интерфейс-надо думать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:24 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0asv79, Код: java 1. 2.
. интересный вариант ,надо опробовать - сможем ли мы таким образом хибер обмануть) ведь фатически это поле у нас будет null ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:28 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79если делать под каждый класс свою реализацию интерфейса - то теряется смысл наследования)а ООП в модели не нужен. А далее идут стримы и коллекции. Ты где там ООП увидел? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:31 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
вот эта строчка интересная No property type found for type Question Question уже и есть type хмм ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:31 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79если делать под каждый класс свою реализацию интерфейса - то теряется смысл наследования)а ООП в модели не нужен. А далее идут стримы и коллекции. Ты где там ООП увидел? моя задумка проста я решил написать полноценный веб проект для тестирования джуниор джава есть класс вопрос от него наследуются вопрос ООП вопрос МНогопоточка и тд я хочу сделать это как одну таблицу,чтобы хибер сам раскидывал вопросы по типам конечно можно сделать сущность вопрос и поле типа enum ,где прописывать к какой группе вопрос относится скорей всего если не получится норм описать интерфейс поика по типу ,то я так и сделаю)_ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:34 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79есть класс вопрос от него наследуются вопрос ООПдвойка по моделированию предметной области ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 13:37 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79есть класс вопрос от него наследуются вопрос ООПдвойка по моделированию предметной области это с чего бы это)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 14:54 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79, Моделируют люди не программисты. Там сущности и отношения. Прогеры позже приходят и натягивают модель от бизнес аналитика на хибер. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:04 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0, Код: java 1. 2.
вот этот вариант сработал) странно я думал все же хибер немного умней и распознает заглушку и выдаст nullPointer зато все работает теперь так как я и задумал,нужный класс но я думаю предпочтительней будет сделать Enum поле с типом вопросов,так легче будет в базе сохранять ,иначе мне при создании записи придется каким то образом делать класс определенного типа- что как бы весьма затруднительно будет сделать из формы инпут как я укажу какой класс я хочу создать QuestionOPP или QuestionTHREAD а так просто set.ROLE(ROLE.OOP) и мудрить не надо) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:13 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79, Моделируют люди не программисты. Там сущности и отношения. Прогеры позже приходят и натягивают модель от бизнес аналитика на хибер. да я принял решение отказаться от наследования в таблах,так как у меня возникнут проблемы при вводе вопросов из админки так как я при сохранинии буду просто обязан создать экзмепляр конкретного наследника-что автоматом вызывает проблемы) мне придется прописывать Question a=new QuestionOOP(); и так для каждого вида либо делать отдельный контроллер под каждый вид,что в итоге вместо упрощения еще больше код утяжелит короче сделаю енум ,который будет описывать що це за вопрос и одна общая табла под них) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:21 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79, Хибернат использует Discriminator Column при обновлениях, а "лишний" маппинг для type это заглушка для выполнения твоих запросов. По сути ни на что не влияет, так как не участвуют в insert/update-ах. Если ты будешь json использовать при отправке своих форм, то там тоже есть наследование (по аналогии Discriminator Column). Вообщем вариантов по реализации много. Правильно\неправильно это все субъективно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:26 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0asv79, Хибернат использует Discriminator Column при обновлениях, а "лишний" маппинг для type это заглушка для выполнения твоих запросов. По сути ни на что не влияет, так как не участвуют в insert/update-ах. Если ты будешь json использовать при отправке своих форм, то там тоже есть наследование (по аналогии Discriminator Column). Вообщем вариантов по реализации много. Правильно\неправильно это все субъективно. вообще хотелось сделать с наследованием,но будут траблы при создании записей как мне из UI указать какого класса этот вопрос куда как проще сделать енум взять его валью вывести лист с этими валью в типлейт и тыркнув в нужно приствоится нужный тип) мне кажется все же так проще ,легковесней и читаемей ,ну и в принципе расширяемост норм-добавил новый тип в енум и автоматом все везде подхватится ,даже в UI а при наследовании придется интрефейс менять короче енум ,так енум) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:37 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
vas0 Если ты будешь json использовать при отправке своих форм, т я бы рад,но штмл формы не умееют джейсон отправлять ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 15:41 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
Кто-нибудь понял зачем в ТЗ наследование? Я не про базу сейчас а про сущности ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 16:06 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
забыл никКто-нибудь понял зачем в ТЗ наследование? Я не про базу сейчас а про сущности да по сути не зачем,я убрал уже,заменил на Enum ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 16:10 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79забыл никКто-нибудь понял зачем в ТЗ наследование? Я не про базу сейчас а про сущности да по сути не зачем,я убрал уже,заменил на Enumбд всегда главнее, а в ней нет наследования. Вот и подстраивайся по нее родимую. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 16:20 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
Код: html 1. 2. 3. 4. 5.
кто нибудь знает как сделать так чтобы без js в этой конструкции выбиралось только одно значение?э или в листе это не возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 17:37 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79кто нибудь знает как сделать так чтобы без js в этой конструкции выбиралось только одно значение? элементарно - погуглить про <input type=radio/> и быстро обнаружить концепцию "радио-группы" ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 17:55 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
chpashaasv79кто нибудь знает как сделать так чтобы без js в этой конструкции выбиралось только одно значение? элементарно - погуглить про <input type=radio/> и быстро обнаружить концепцию "радио-группы" ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:25 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79пропущено... да по сути не зачем,я убрал уже,заменил на Enumбд всегда главнее, а в ней нет наследования. Вот и подстраивайся по нее родимую. не в данном конкретном случае)тут БД исполняет роль авоськи тоесть круд операции и ничего более ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:27 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
asv79, Ты еще скажи CRUD байтов)))) LOL. А у железнодорожников CRUD колесных пар. Это совсем меняет дело))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:58 |
|
Выборка по @DiscriminatorColumn(name="type")
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79, Ты еще скажи CRUD байтов)))) LOL. А у железнодорожников CRUD колесных пар. Это совсем меняет дело))) вам с вадей надо пожениться))вы достали со своими базами) у меня все прекрасно через хибер и я не собираюсь на таблицу из 2 мб парить себе мозг,потому что там чтобы ты не делал будет производительность ок причем ладно бы там процесс выборки был какой то экстремально быстрый это же будет медленно- человек ответил на вопрос-думал минуту-жмакнул кнопку ему новый вопрос с базы вытянулся тоесть говорить о базе в контексте моего ТЗ просто глубо,так как она лишь картофельный мешок для хрананения картошки и все ее функции заключатся в том чтобы 1 раз принять ворпосы и потом их отдавать ,никаких других операций не предусмотрено ) пс.начинаю понимать наших ПМ,которые ходят и у них волосы дыбом)они разрабу говорят в базе будут лежать текст вопросы,он какую то дичь про байты затирает)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 10:13 |
|
|
start [/forum/topic.php?fid=59&fpage=23&tid=2121122]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
114ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 229ms |
0 / 0 |