Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
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
EclipseLink JPA
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
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 Applicationappname.jar META-INF persistence.xml sessions.xml *.java
- Weave the JAR.
For more information, see the following: