# Customization

The following table lists the properties available in the Customization page of the persistence.xml Editor.

Property | Description | Default
--- | --- | ---

Weaving

Specifies if weaving of the entity classes is performed. The EclipseLink JPA persistence provider uses weaving to enhance JPA entities for such properties as lazy loading, change tracking, fetch groups, and internal optimizations. Select from the following options:

- No Weaving

- Weave Dynamically

- Weave Statically -- Use this option if you plan to execute your application outside of a Java EE 5 container in an environment that does not permit the use of `-javaagent:eclipselink.jar` on the JVM command line. This assumes that classes have already been statically woven. Run the static weaver on the classes before deploying them.

Weave Dynamically

Lazy | Select this option to enable lazy weaving. | True

Fetch Groups

Select this option to enable fetch groups through weaving. Set this option to false if:

- There is no weaving.

- Classes should not be changed during weaving (for example, when debugging).

Set this property to false for platforms where it is not supported.

True

Internal | Specify if Dali uses internal optimizations through weaving. If enabled, enables lazy one-to-one and many-to-one mappings through weaving. | True
Eager | Specify if Dali uses indirection on eager relationships. | False
Change Tracking | Select this option to use weaving to detect which fields or properties of the object change. | True
Validation only | Specify if Dali should validate deployments by initializing descriptors but not connecting to the data source. | True
Mapping files schema validation |  | False
Throw exceptions | Select this option to set EclipseLink to throw an exception or log a warning when it encounters a problem with any of the files listed in a persistence.xml file `<mapping-file>` element. | True
Exception handler | Select (or create) a Java class (that implements the `org.eclipse.persistence.exceptions.ExceptionHandler` interface) to handle exceptions. |
Session Customizer | Select a session customizer class: a Java class that implements the `eclipselink.tools.sessionconfiguration.SessionCustomizer` interface and provides a default (zero-argument) constructor. Use this class' `customize` method, which takes an `eclipselink.sessions.Session`, to programmatically access advanced EclipseLink session API. |

Profiler

Specify which performance profiler to use in order to capture runtime statistics.

- No Profiler – Do not use a performance profiler.

- Performance Profiler – Use EclipseLink performance profiler (`org.eclipse.persistence.tools.profiler.PerformanceProfiler class`).

- Query Monitor – Monitor query executions and cache hits (`org.eclipse.persistence.tools.profiler.QueryMonitor class`).

NoProfiler

Note: This page is not available for projects using the Generic platform.

Related references

- Java Persistence API (JPA) Extensions Reference for EclipseLink
  `http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/toc.htm`