Defining and Handling Transient Fields in PJama

Tony Printezis, Malcolm P. Atkinson, Mick Jordan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

The transient keyword of the Java™ programming language was originally introduced to prevent specific class fields from being stored by a persistence mechanism. In the context of orthogonal persistence, this is a particularly useful feature, since it allows the developer to easily deal with state that is external to the system. Such state is inherently transient and should not be stored, but instead re-created when necessary. Unfortunately, the Java Language Specification does not accurately define the semantics and correct usage of the transient keyword. This has left it open to misinterpretation by third parties and its current meaning is tied to the popular Java Object Serialisation mechanism. In this paper we explain why the currently widely-accepted use of the transient keyword is not appropriate in the context of orthogonal persistence, we present a more detailed definition for it, and we show how the handling of transient fields can be efficiently implemented in an orthogonally per- sistent system, while preserving the desired semantics.
Original languageEnglish
Title of host publicationResearch Issues in Structured and Semistructured Database Programming
Subtitle of host publication7th International Workshop on Database Programming Languages, DBPL’99 Kinloch Rannoch, UK, September 1–3,1999 Revised Papers
EditorsRichard Connor, Alberto Mendelzon
Place of PublicationBerlin, Heidelberg
PublisherSpringer
Pages129-151
Number of pages23
ISBN (Electronic)978-3-540-44543-2
ISBN (Print)978-3-540-41481-0
DOIs
Publication statusPublished - 2001

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin Heidelberg
Volume1949
ISSN (Print)0302-9743

Fingerprint

Dive into the research topics of 'Defining and Handling Transient Fields in PJama'. Together they form a unique fingerprint.

Cite this