Difference between revisions of "EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving"
m |
m |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | ---- | ||
+ | |||
+ | |||
+ | '''[[Image:Elug_draft_icon.png|Warning]] This page is now obsolete. ''' | ||
+ | |||
+ | For current information, please see "About Weaving" in the ''EclipseLink Concepts Guide'': | ||
+ | http://www.eclipse.org/eclipselink/documentation/latest/concepts/app_dev007.htm | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | {{EclipseLink_UserGuide | ||
+ | |info=y | ||
+ | |toc=n | ||
+ | |eclipselink=y | ||
+ | |eclipselinktype=JPA}} | ||
+ | |||
=Weaving= | =Weaving= | ||
+ | Weaving is a technique of manipulating the byte-code of compiled Java classes. The EclipseLink JPA persistence provider uses weaving to enhance both JPA entities and Plain Old Java Object (POJO) classes for such things as lazy loading, change tracking, fetch groups, and internal optimizations. | ||
+ | |||
+ | Weaving can be performed either dynamically at runtime, when entities are loaded, or statically at compile time by post-processing the entity <tt>.class</tt> files. By default, EclipseLink uses dynamic weaving whenever possible. This includes inside an Java EE 5/6 application server and in Java SE when the EclipseLink agent is configured. Dynamic weaving is recommended as it is easy to configure and does not require any changes to a project's build process. | ||
+ | See the following for details: | ||
+ | *[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Dynamic Weaving|Configuring Dynamic Weaving]] | ||
+ | *[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Static Weaving|Configuring Static Weaving]] | ||
+ | *[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Weaving POJO Classes|Weaving POJO Classes]] | ||
+ | *[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Weaving and Java EE Application Servers|Weaving and Java EE Application Servers]] | ||
+ | *[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Disabling Weaving with Persistence Unit Properties|Disabling Weaving with Persistence Unit Properties]] | ||
{{EclipseLink_JPA | {{EclipseLink_JPA | ||
− | |previous=[[EclipseLink/UserGuide/JPA/ | + | |previous=[[EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Performance Monitoring and Profiling/Query Monitoring|Query Monitoring]] |
− | |next =[[EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/ | + | |next =[[EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Dynamic_Weaving|Configuring Dynamic Weaving]] |
|up =[[EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance|Performance]] | |up =[[EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance|Performance]] | ||
− | }} | + | |version=2.2.0 DRAFT}} |
Latest revision as of 07:44, 17 April 2013
For current information, please see "About Weaving" in the EclipseLink Concepts Guide: http://www.eclipse.org/eclipselink/documentation/latest/concepts/app_dev007.htm
EclipseLink JPA
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Weaving
Weaving is a technique of manipulating the byte-code of compiled Java classes. The EclipseLink JPA persistence provider uses weaving to enhance both JPA entities and Plain Old Java Object (POJO) classes for such things as lazy loading, change tracking, fetch groups, and internal optimizations.
Weaving can be performed either dynamically at runtime, when entities are loaded, or statically at compile time by post-processing the entity .class files. By default, EclipseLink uses dynamic weaving whenever possible. This includes inside an Java EE 5/6 application server and in Java SE when the EclipseLink agent is configured. Dynamic weaving is recommended as it is easy to configure and does not require any changes to a project's build process.
See the following for details: