170 похожих чатов

Всем привет! вопрос по хибернейту: мне нужно смаппить представление из постгреса

на сущность. вроде всё понятно, алгоритм тот же что и для обычной таблицы. но проблема в том, что у строк в представлении нет первичного ключа, составной сделать то же не подойдет, а хиберу обязательно нужен какой то идентификатор. я пока временно сделал так - в исходном коде представления генерирую UUID таким образом: uuid_in(md5(random()::text || random()::text)::cstring) as id
нет ли других способов?

10 ответов

5 просмотров

В сущностях обязательно должен быть ID, это в спеке JPA прописано. Так что надо как-то этот ID делать по-любому. Ваш способ, наверное, годный, пока дело не дойдет до сравнения двух объектов из разных сессий. Я правильно понимаю, что выборка одной и той же строки в разных сессиях будет с разными рандомными ID?

не использовать jpa в этом конкретном месте например

alex- Автор вопроса
Роман Нагаев
не использовать jpa в этом конкретном месте наприм...

да, раньше я и не использовал, но лид сказал "шоб везде одинакова було"

alex- Автор вопроса

Кроме производительности базы, если у вас там миллионы строк выбираются в разных сессиях и надо будет огромную кучу рандомов генерировать. А что, совсем-совсем нет ID? У вас там view с distinct выбирается что ли?

alex- Автор вопроса

я тестил и на производительность почти не повлияло, там разница в 10-40 мс

alex
да, раньше я и не использовал, но лид сказал "шоб...

хибер умеет сразу в дто кстати выбирать, ещё есть spring data projections

alex- Автор вопроса
Andrey Belyaev
Кроме производительности базы, если у вас там милл...

там запрос(исходник представления) кривоватый , есть вариант его подрефакторить

alex
я тестил и на производительность почти не повлияло...

А, ну ОК. Так-то без понимания всей задачи и ограничений сложно прям точный совет выдать, что делать.

Похожие вопросы

Обсуждают сегодня

Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
всем привет! у кого есть опыт подписания и нотаризации electron приложений для macos? такая проблема: использовал @electron/osx-sign и notaritool. процесс подписания и нотараз...
Артем Клементьев
11
@Dreamer_0x01 @helgispbru @Ambrion Разговор шёл об уязвимости. Меня беспокоит именно она. Все прочие вопросы, а равно и жизненная мудрость - пока в сторону :) Так вот сам ...
Андрей [aharito] Харитонов
9
Тут кто-то шарит в мед оборудовании?
Benz
10
why some site like google has separate page for username/email and password?
Mr Thieves
21
Может быть небольшое отступление, но я тут решил обратить внимание на то, сколько весит хелловорлд на с++... Зачем он весит почти 250 Кб? У меня оконное приложение на фасме ве...
The Bird of Hermes
14
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
What do you wanna learn?
Malware ( DM = BLOCK )
12
Нерж, можешь написать фреймворк на Свифте для браузерных игр?
Karl {🌪️}{🐊} Shinobi
6
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
Карта сайта