Jump to: navigation, search

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

m
m
Line 10: Line 10:
 
* Fetch groups
 
* Fetch groups
  
<1--
+
<!--
 
* [[Configuring%20a%20Mapping%20(ELUG)#Configuring Indirection (Lazy Loading)|lazy loading (indirection)]]
 
* [[Configuring%20a%20Mapping%20(ELUG)#Configuring Indirection (Lazy Loading)|lazy loading (indirection)]]
 
* [[Configuring%20a%20Descriptor%20(ELUG)#Configuring Change Policy|change tracking]]
 
* [[Configuring%20a%20Descriptor%20(ELUG)#Configuring Change Policy|change tracking]]

Revision as of 10:53, 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 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:

  1. Create a sessions.xml file for your application.
    For more information, see Introduction to EclipseLink Sessions.
  2. 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>
    
  3. 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
    
  4. Weave the JAR.
    For more information, see the following:



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