powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / что такое JPA Weaving
8 сообщений из 8, страница 1 из 1
что такое JPA Weaving
    #37617621
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю здесь
Там единственное предложение поясняющее суть :
The EclipseLink JPA persistence provider uses weaving to enhance JPA entities for such things as lazy loading, change tracking, fetch groups, and internal optimizations.
А кто нибудь знает более подробно про "lazy loading, change tracking, fetch groups, and internal optimizations. " и как это все работает с JPA_Weaving и без него?
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617652
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это, очевидно, фишка исключительно EclipseLink, а потому нет термина JPA Weaving, есть EclipseLink JPA Weaving. Из того, что там написано, следует, что это обычная инструментация - то есть либо создание динамических проксей для разных нужд(dynamic weaving), либо внедрение своего кода в ваши энтити в момент сборки проекта (static weaving).
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617660
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomлибо внедрение своего кода в ваши энтити в момент сборки проектачем то на DI похоже?
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617666
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123svenomлибо внедрение своего кода в ваши энтити в момент сборки проектачем то на DI похоже?Не, с DI вообще никак не связано. Это по сути создание прокси на класс ... в самом классе, и не в runtime через bytecode instrumentation, а в compile time.
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617751
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomНу это, очевидно, фишка исключительно EclipseLink, а потому нет термина JPA Weaving, есть EclipseLink JPA Weaving. Из того, что там написано, следует, что это обычная инструментация - то есть либо создание динамических проксей для разных нужд(dynamic weaving), либо внедрение своего кода в ваши энтити в момент сборки проекта (static weaving).

А можно по подробнее немного про создание "динамических проксей" - то собой физически представляет и какие преимущества дает. И про внедрение кода кода в энтити )) - здесь вообще непонятно это словосочетание.
Заранее спасибо)
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617800
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Про динамические прокси - это классический AOP. Остановите в дебаггере свою программу и посмотрите на тип инициализированного поля. Вместо реального поля (имя классаа вашей сущности или какой-нибудь коллекции) вы увидите объект странного типа без кода. Это и есть прокси. В Хибере используется преимущественно для прозрачной подгрузки ленивых зависимостей. Какие преимущества это дает в EclipseLink - вопрос к разработчикам сего продукта.
2. Про статический вивинг - проследуйте шагам, описанным в приведенном вами документе, соберите свой проект. Потом посмотрите на код своих энтитией - он будет отличен от того, что было у вас изначально - Эклипс внесет нужные ему изменения.
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617804
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomОстановите в дебаггере свою программу и посмотрите на тип не инициализированного поля
...
Рейтинг: 0 / 0
что такое JPA Weaving
    #37617823
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА можно по подробнее немного про создание "динамических проксей" - то собой физически представляет и какие преимущества дает.
на русском на иностранном

авторИ про внедрение кода кода в энтити )) - здесь вообще непонятно это словосочетание.
Заранее спасибо)

Допустим мы имплементируем паттерн ActiveRecord. У каждой entity должны быть статические методы find(), save(), delete() и т.п, с однообразным кодом, который различается только типом entity. Так как методы статические унаследоваться мы не можем, но не писать же все руками. Возможное решение - на этапе сборки, допустим при помощи специально написанного maven plugin, мы перебираем все классы с аннотацией Entity и генерим все эти методы, потом в коде мы можем использовать Person.find(), User.delete(1L)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / что такое JPA Weaving
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]