Jpa @CollectionTable очень медленный запросJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Jpa @CollectionTable очень медленный запрос

Сообщение Anonymous »


У меня есть этот объект

@Entity @Table(name = "GEO_MUNICIPALITY", индексы = { @Index(name = "idx_municialityentity", columnsList = "PROVINCE_CODE") }) ... общественный класс МуниципалитетEntity { @Идентификатор @Column(name = "MUNICIPALITY_CODE", nullable = false) частный строковый код; @Column (обнуляемый = ложь) частное имя строки; @ManyToOne(выборка = FetchType.LAZY) @JoinColumn(name = "PROVINCE_CODE") частная провинцияОбъект провинции; @ElementCollection @CollectionTable(name = "GEO_MUNICIPALITY_POSTAL_CODE", joinColumns = @JoinColumn(name = "КОД_МУНИЦИПАЛИТЕТА"), индексы = { @Index(name = "idx_municipalityentity_postal_code", columnsList = "MUNICIPALITY_CODE") }) @Column(name = "POSTAL_CODE") частный список postalCodeList; } @Entity @Table(name = "GEO_PROVINCE") ... общественный класс ПровинцияЕнтити { @Идентификатор @Column (обнуляемый = ложь) частный строковый код; ... } Теперь моему API нужно отобразить все муниципалитеты (со всеми почтовыми индексами муниципалитетов) с заданным кодом провинции, поэтому у меня есть такой класс репозитория:

@Repository общедоступный интерфейс МуниципалитетJpaRepository расширяет JpaRepository { List findAllByProvinceCode (строковая провинция); @Query («выберите m из Муниципального объекта m слева присоединиться к m.postalCodeList postalCodeList, где m.province.code = ?1») List findByCode(String code); } Эти два метода делают одно и то же, и я попробовал оба способа (результат один и тот же), потому что когда я вызываю getPostalCodeList(), запрос выполняется очень медленно, потому что он делает выбор для каждого результат муниципалитета (для получения почтовых индексов).

Как я могу улучшить производительность? Кроме того, поскольку я всегда ищу муниципалитеты по коду, стоит ли сделать индекс таким, как в коде? Спасибо!

Я пробовал использовать репозиторий jpa и собственный запрос. Я ожидал быстрого выполнения запроса, но выполнение происходит очень медленно, поскольку после запроса на соединение приложение делает запрос для каждого полученного муниципалитета, чтобы получить почтовые индексы.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Весенний ботинок - Jakarta @manytomany @collectiontable
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Очень неожиданная производительность fprintf против std::ofstream (fprintf очень медленный)
    Anonymous » » в форуме C++
    0 Ответы
    84 Просмотры
    Последнее сообщение Anonymous
  • Симулятор XCode очень медленный.
    Гость » » в форуме IOS
    0 Ответы
    77 Просмотры
    Последнее сообщение Гость
  • Очень медленный list_objects_v2 в minio
    Anonymous » » в форуме Python
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • QML Repeater3D рендеринг очень медленный
    Anonymous » » в форуме C++
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»