Есть ли лучшее решение для отображения множества полей сущности в две таблицы? - PullRequest
0 голосов
/ 19 мая 2019

Я получаю данные с 50 полей.Как отобразить в две таблицы в jpa, в котором мне потребовалось только три поля, а остальные поля мне нужно передать только в нисходящий поток?

Это для нового jpa данных весны, работающего над проектом H2 db.В прошлом я пытался отобразить все 50 полей в одной таблице сущностей.Но мне требуется только 3 обязательных поля из этих 50 полей для обработки последних 5000 записей из базы данных.

   @Entity
   class SingleCustomer{  

    //ID field
    // 3 fields only these fields I am using to process my data from db

    //47 fields just to pass to another service without any process

    }

Чтобы улучшить производительность моего приложения, какой подход я должен выбрать?Существуют ли другие способы повышения производительности приложений, например разделение на две сущности и объединение один в один, когда необходимо отправить другую службу.

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Использование отдельной сущности для полей, которые вам не нужны, вместе с ассоциацией @OneToOne, как указала @Lebecca, является одним из способов сделать это.

Однако, если вы предпочитаете хранить все свойства в одном объекте, вы можете включить улучшение байт-кода Hibernate, которое включает поддержку @Basic(fetch = LAZY). Если вы хотите, вы также можете комбинировать такой подход с использованием @SecondaryTable для хранения свойств, которые вам обычно не нужны.

См. здесь для получения дополнительной информации, включая информацию о том, как точно настроить режим отложенной загрузки с включенным расширением.

0 голосов
/ 19 мая 2019

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

...