| 
 | 
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Есть таблица Parent & 3 Child таблицы, которые наследуются от Parent Я хочу работать с таблицами в зависимости от того какой репозиторий создан Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Проблема в том, что как не создал сервис TableService<Parent> TableService<Child1> Репозиторий всегда работает с таблицей Parent Я нашел пару вопросов на данную тему https://stackoverflow.com/questions/35059570/spring-jparepository-using-generic-entity То есть репозитории создается на старте МОжно ли обыграть данную ситуацию, чтоб работать только с одним сервисом TableService? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.07.2021, 23:36 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Проблема в том что в сервис инжектится не тот repository? Тогда избавься от autowiring'a/PackageScan'a и указывай явно какой репозиторий инжектить. Ну либо как советуют на SO - создавай явно интерфейсы/классы типа Child1Repo, Child2Repo, etc. Но тогда 1 сервис не сможет работать с разными репозиториями (если в этом есть необходимость). А вообще необычная архитектура получается. Выглядит как будто ты хочешь какой-то слишком универсальный код написать. Чтоб, как правило, либо очень сложно/запутанно, либо бесполезно. Тебе это точно надо и по-другому никак? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 07:17 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Stanislav Bashkyrtsev Проблема в том что в сервис инжектится не тот repository? Тогда избавься от autowiring'a/PackageScan'a и указывай явно какой репозиторий инжектить. Ну либо как советуют на SO - создавай явно интерфейсы/классы типа Child1Repo, Child2Repo, etc. Но тогда 1 сервис не сможет работать с разными репозиториями (если в этом есть необходимость). А вообще необычная архитектура получается. Выглядит как будто ты хочешь какой-то слишком универсальный код написать. Чтоб, как правило, либо очень сложно/запутанно, либо бесполезно. Тебе это точно надо и по-другому никак? Да по сути все очень просто надо Entity в Dto сконвертировать Как работа идет Сервис -> Репозитории -> Ентити -> Дто Я и подумал, что можно Сервис и Репозитори универсальными сделать (таблицы наследуются от одной) А для конвертации функциональный интерфейс пробрасывать ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 08:42 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  У тебя бек - это просто данные достать и в JSON сконвертировать? Тогда можно хоть с репозитория сразу DTO возвращать, и сервис не нужен будет. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 10:20 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Stanislav Bashkyrtsev У тебя бек - это просто данные достать и в JSON сконвертировать? Тогда можно хоть с репозитория сразу DTO возвращать, и сервис не нужен будет. Ну не совсем скажем примитивный CRUD с небольшой логикой И пилить 4 сервиса и 4 репозитория ну это копипаст Все основные поля заполняются в Parent А дополнителньые уже в Child1-3 Получается Что вся логика заполнения основных полей у меня дублируется 4 раз Я думал уже при сохранения Child кастовать ее к Parent Далее, сохраненную ParentEnity копировать в ChildEnity, заполнять оставшиеся поля и сохранять уже... Но тут лишние запросы будут ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 10:47 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  -=Koba=-, Покажи реальный копипаст. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 11:03 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  -=Koba=-, >скажем примитивный CRUD с небольшой логикой Хмммм.. Не подходят готовые Repository CrudRepository PagingAndStoringRepository JpaRepository ? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 11:16 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  авторЧто вся логика заполнения основных полей у меня дублируется 4 разЗаполнение полей в DTO? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 11:29 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp -=Koba=-, >скажем примитивный CRUD с небольшой логикой Хмммм.. Не подходят готовые Repository CrudRepository PagingAndStoringRepository JpaRepository ? TableService Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ]] ParentDto от него наследуется ChildDto ParentEntity от него наследуется ChildEntity saveCaseDocEntity тут идет сохранение только в репозитори ParentRepository А было удобнее если б я могу упарвлять репозиторием в какой сохранять Когда работаю с Parent то ParentEntity parentEntity = saveCaseDocEntity(caseId, dto); А если Child то ChildEntity childEntity = saveCaseDocEntity(caseId, dto); Поэтому и пытался перевести репозитории на Generic ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 11:37 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  -=Koba=-, Покажи дублирование без наследования. Модель в субд не очень дружит с наследованием. Там нет ООП ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 12:31 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кроме того сам паттерн репо это не наследование. Это жесткий контракт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 12:35 | 
  
  
  
   | 
||
| 
 
Generic в JPA Repository 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  -=Koba=-, Мое имхо что ты как программист перемудрил и решил добавить наследование. >ParentDto от него наследуется ChildDto ParentEntity от него наследуется ChildEntity = а полагается сущности называть БИЗНЕС именами. А не множить программисткими терминами items, parent и т.д. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.07.2021, 12:50 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=40082020&tid=2120405]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    80ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    46ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 231ms | 
| total: | 401ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...