Skip to main content

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.

Jump to: navigation, search

EclipseLink/Features/Core

< EclipseLink‎ | Features
Revision as of 21:12, 9 October 2007 by Unnamed Poltroon (Talk) (Mapping)

PAGE UNDER CONSTRUCTION

EclipseLink Core Functionality

These core infrastructure features are leveraged by multiple persistence services.

Mapping

EclipseLink offers developers the ability to map a persistent POJO domain model. These persistent object types known as entities allow developers to design and implement a domain model without coupling to a particular persistence service. EclipseLink allows the domin model to be implemented without:

  • inheriting from a common persistent superclass
  • implementing a common persistence interface
  • implement any persistence functionality within the entity classes
  • Attribute Accessors: Controls how EclipseLink will access persistent values from a mapped entity
    • Field: Specifies direct field access to the mapped value. This is the default
    • Method: Allows any get/set method pair to be specified for use

Class Descriptor

The ClassDescriptor represents the mapping of a single class to one or more data source artifacts. The core functionality of the ClassDescriptor provides default support for constructing and accessing the attributes of an entity throgh the use of reflection.

  • Instantiation Policy
    • Factory
  • Clone/Copy Policy
    • Factory
    • entity clone method
  • Inheritance Policy
  • Wrapper Policy enables the configuration of a common wrapper to be placed around all objects read and to interpret the wrapped objects when being written.
  • Query Manager
    • Named Queries
    • Custom SQL or queries for default CRUD operations
    • Query keys

Transactions

  • Transaction Modes
    • LOCAL
    • JTA
  • UnitOfWork
    • Transaction isolated cache
    • Registration of objects
      • Register: New or existing objects
      • Register New Object
      • Register Existing Object
    • Merge
      • Deep Merge
      • Shallow Merge
      • Merge with relationships
    • Change Tracking
      • Deferred: Changes are detected at commit/flush by comparing working copy against backup copy made when object is registered into UnitOfWork
      • Object mark-dirty
      • Attribute Change Tracking
    • Nested UnitOfWork

Sessions

The primary API for the EclipseLink native access is the session.

  • Common: The following features are common to all session types
    • Read: Simple calls to execute
      • readObject
      • readAllObjects
    • Acquire UnitOfWork
    • Copy Object
    • IdentityMapAccessor
  • Server Session: Is used for
  • Client Session: Used
  • Database Session
  • Session Broker
  • UnitOfWork: Is the primary native transaction API but also implements the common session API

Session Management

  • SessionManager
  • SessionFactory

Caching

  • Shared Cache per Server/Database Session
  • Isolated Cache per client
  • Cache Type and initial/default size
    • SOFT-WEAK
    • HARD-WEAK
    • WEAK
    • FULL
    • NONE
  • Query cache usage
    • Check cache by primary key
    • Check cache only
    • Check cache then database
    • Check cache only

UnitOfWork

  • Change Tracking
    • Deferred
    • Object-Level Mark Dirty
    • Attribute Change Tracking

Back to the top