декларативно настройка Lazy Fetching для JPA Onetoone Relations
одна общая оптимизация в приложениях JPA - это включение ленивого извлечения для отношений. По умолчанию JPA с нетерпением ждет ассоциаций Onetoone, что может привести к проблемам производительности в ситуациях, когда связанная организация не всегда необходима. В этой статье рассматриваются методы для настройки отношений с Onetoone как ленивые, решающие конкретную проблему, с которой сталкивается пользователь, в котором стремительное извлечение вызывало узкие места производительности.
Во-первых, важно уточнить, что неограниченные (нулевые) ассоциации один-к одному не могут быть прокси не могут быть прокси не могут быть прокси-прибором. Это связано с тем, что собственная организация должна определить, должно ли свойство ассоциации содержать прокси или нулевой, который не может быть определен исключительно на основе столбцов базовой таблицы.
для ассоциаций для многих-одно (и ассоциации «один ко многим»), ленивое извлечение возможно. Собственная организация может легко проверить свой иностранный ключ (или создать пустой прокси-сервер для коллекции для ассоциаций с одним ко многим), чтобы заполнить Ассоциацию по требованию.
, чтобы включить ленивое извлечение для ассоциации @manytoone, аннотация @manytoone может быть аннотирована с fetch = fetchtype.lazy. Однако крайне важно убедиться, что сам запрос не перезаписывает эту настройку.
для ассоциации @onetoone, если она не нулева, это может быть указано как таковое:
@OneToOne(optional = false, fetch = FetchType.LAZY)
Другой сценарий возникает, когда ассоциация @onetoone вызывает проблемы с производительностью из -за большого количества соединений в полученном запросе. В таких случаях рекомендуется осмотреть модель и рассмотреть вопрос о реализации альтернативных подходов, таких как использование отношения с одним ко многим с уникальным ограничением на стороне от многих к одному.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3