Jump to: navigation, search

Difference between revisions of "EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving"

m
m
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{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/Advanced_JPA_Development/Performance Profiling|Performance Profiling]]
+
|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/About Weaving|About 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}}

Revision as of 10:04, 9 May 2011

EclipseLink JPA

link="http://wiki.eclipse.org/EclipseLink"
EclipseLink
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
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:

Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...