JDO TEST

JDOx150
jdo text

JDO TEST


Supported Java Types

When persisting a class, a persistence solution needs to know how to persist the types of each field in the class. Clearly a persistence solution can only support a finite number of Java types. It cannot know how to persist every possible type creatable. The JDO specifications define lists of types that are required to be supported by all implementations of those specifications. This support can be conveniently split into two parts

  • An object that can be referred-to (object reference, providing a relation) and that has an "identity" - First Class Object (FCO). JDO requires an implementation to support PersistenceCapable types, as well as object/interface fields that refer to PersistenceCapable objects.

  • An object that does not have an "identity" - Second Class Object (SCO). This is something like a String or Date field in a class. It can also be a Collection, that contains other objects.


First-Class (FCO) Types

JDO requires objects that are PersistenceCapable to be FCO. In addition it supports persisting fields of Interface or java.lang.Object type as FCO (since these are just references to PersistenceCapable objects).


Second-Class (SCO) Types

The table below shows the supported SCO java types in JDO2. The table also shows the default-fetch-group (DFG) setting for that Java type (so whether it is retrieved by default when retrieving an object with a field of that type), whether the field is persisted by default (if it is "false" then you would have to add persistence-modifier="persistent" to the field for it to be persisted by JDO), and whether the java type can be used as part of the primary key.

Java Type

DFG?

Persistent?

PK?

boolean

image

image

image

byte

image

image

image

char

image

image

image

double

image

image

image

float

image

image

image

int

image

image

image

long

image

image

image

short

image

image

image

boolean[]

image

image

image

byte[]

image

image

image

char[]

image

image

image

double[]

image

image

image

float[]

image

image

image

int[]

image

image

image

long[]

image

image

image

short[]

image

image

image

java.lang.Boolean

image

image

image

java.lang.Byte

image

image

image

java.lang.Character

image

image

image

java.lang.Double

image

image

image

java.lang.Float

image

image

image

java.lang.Integer

image

image

image

java.lang.Long

image

image

image

java.lang.Short

image

image

image

java.lang.Boolean[]

image

image

image

java.lang.Byte[]

image

image

image

java.lang.Character[]

image

image

image

java.lang.Double[]

image

image

image

java.lang.Float[]

image

image

image

java.lang.Integer[]

image

image

image

java.lang.Long[]

image

image

image

java.lang.Short[]

image

image

image

java.lang.Number

image

image

image

java.lang.Object

image

image

image

java.lang.String

image

image

image

java.lang.String[]

image

image

image

java.math.BigDecimal

image

image

image

java.math.BigInteger

image

image

image

java.math.BigDecimal[]

image

image

image

java.math.BigInteger[]

image

image

image

java.sql.Date

image

image

image

java.sql.Time

image

image

image

java.sql.Timestamp

image

image

image

java.util.ArrayList

image

image

image

java.util.Collection

image

image

image

java.util.Currency

image

image

image

java.util.Date

image

image

image

java.util.Date[]

image

image

image

java.util.HashMap

image

image

image

java.util.HashSet

image

image

image

java.util.Hashtable

image

image

image

java.util.LinkedHashMap

image

image

image

java.util.LinkedHashSet

image

image

image

java.util.LinkedList

image

image

image

java.util.List

image

image

image

java.util.Locale

image

image

image

java.util.Locale[]

image

image

image

java.util.Map

image

image

image

java.util.Set

image

image

image

java.util.TreeMap

image

image

image

java.util.TreeSet

image

image

image

java.util.Vector

image

image

image

java.io.Serializable

image

image

image

javax.jdo.spi.PersistenceCapable

image

image

image

javax.jdo.spi.PersistenceCapable[]

image

image

image

java.lang.Enum

image

image

image

java.lang.Enum[]

image

image

image