EclipseLink/UserGuide/JPA/Advanced JPA Development/Performance/Weaving/Weaving POJO Classes
For current information, please see "About Weaving" in the Understanding EclipseLink (Concepts Guide): http://www.eclipse.org/eclipselink/documentation/latest/concepts/app_dev007.htm
|Mailing List • Forums • IRC|
Weaving POJO Classes
EclipseLink uses weaving to enable the following for POJO classes:
- Lazy loading
- Change tracking
- Fetch groups
EclipseLink weaves all the POJO classes in the JAR you create when you package a POJO application for weaving, as described in Packaging a POJO Application for Weaving, below.
EclipseLink weaves all the classes defined in the persistence.xml file, that is:
- all the classes you list in the persistence.xml file;
- all classes relative to the JAR containing the persistence.xml file if element <exclude-unlisted-classes> is false.
Packaging a POJO Application for Weaving
To package a POJO application for weaving, you create a JAR that contains a sessions.xml file and a persistence.xml file, as described below:
- Create a sessions.xml file for your application.
For more information, see Introduction to EclipseLink Sessions.
- Create a persistence.xml file for your application and reference your sessions.xml file, as the following example shows.
persistence.xml File for an EclipseLink JPA Application
<persistence> <persistence-unit name="appname"> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="eclipselink.session-name" value="appname-session" > <property name="eclipselink.sessions-xml" value="sessions.xml" > </properties> </persistence-unit> </persistence>
- Create a JAR file that contains your POJO classes, sessions.xml file, and persistence.xml file, as the following example shows.
Put both the persistence.xml and sessions.xml file in a META-INF directory.
JAR File for a POJO Application
appname.jar META-INF persistence.xml sessions.xml *.java
- Weave the JAR.
For more information, see the following: