Use @VirtualAccessMethods
to specify that a specific class contains virtual methods.
Annotation Elements
Table 2-79 describes this annotation's elements.
Table 2-79 @VirtualAccessMethods Annotation Elements
Annotation Element | Description | Default |
---|---|---|
|
(Optional) Name of the If |
|
set |
(Optional) Name of the If |
|
Usage
Use the @VirtualAccessMethods
annotation to define access methods for mappings with in which accessType
=VIRTUAL.
Examples
Table 2-79 shows an entity using property access.
Example 2-126 Using @VirtualAccessMethods Annotation
@Entity @VirtualAccessMethods public class Customer{ @Id private int id; ... @Transient private Map<String, Object> extensions; public <T> T get(String name) { return (T) extensions.get(name); } public Object set(String name, Object value) { return extensions.put(name, value); }
In addition to using the @VirtualAccessMethods
annotation, you can use the <access>
and <access-method>
elements in your eclipselink-orm.xml
file, as shown in Example 2-127.
Example 2-127 Using <access> and <access-methods> XML
<access>VIRTUAL</access><access-methods get-method="get" set-method="set"/>@Entity
See Also
For more information, see:
"Extensible Entities"
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Extensible_Entities
"Making JPA Entities and JAXB Beans Extensible" in Solutions Guide for EclispeLink