| :_basedir: |
| :_imagesdir: images/ |
| :grid: cols |
| :metadata: |
| |
| [[index]] |
| |
| == Supported Java Typesanchor: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. |
| |
| {empty} + |
| |
| |
| === First-Class (FCO) Typesanchor: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). |
| |
| {empty} + |
| |
| |
| === Second-Class (SCO) Typesanchor: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. |
| |
| [cols="4",options="header",] |
| |=== |
| |Java Type |DFG? |Persistent? |PK? |
| |
| |boolean |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |byte |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |char |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |double |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |float |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |int |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |long |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |short |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |boolean[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |byte[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |char[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |double[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |float[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |int[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |long[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |short[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Boolean |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Byte |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Character |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Double |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Float |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Integer |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Long |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Short |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Boolean[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Byte[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Character[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Double[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Float[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Integer[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Long[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Short[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Number |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.lang.Object |
| |icon:times[] |
| |icon:times[] |
| |icon:times[] |
| |
| |java.lang.String |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.String[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.math.BigDecimal |
| |icon:check[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.math.BigInteger |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.math.BigDecimal[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.math.BigInteger[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.sql.Date |
| |icon:times[] |
| |icon:times[] |
| |icon:check[] |
| |
| |java.sql.Time |
| |icon:times[] |
| |icon:times[] |
| |icon:check[] |
| |
| |java.sql.Timestamp |
| |icon:times[] |
| |icon:times[] |
| |icon:check[] |
| |
| |java.util.ArrayList |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Collection |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Currency |
| |icon:times[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.util.Date |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.util.Date[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.HashMap |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.HashSet |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Hashtable |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.LinkedHashMap |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.LinkedHashSet |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.LinkedList |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.List |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Locale |
| |icon:times[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.util.Locale[] |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Map |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Set |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.TreeMap |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.TreeSet |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.util.Vector |
| |icon:times[] |
| |icon:check[] |
| |icon:times[] |
| |
| |java.io.Serializable |
| |icon:times[] |
| |icon:times[] |
| |icon:times[] |
| |
| |javax.jdo.spi.PersistenceCapable |
| |icon:times[] |
| |icon:times[] |
| |icon:check[] |
| |
| |javax.jdo.spi.PersistenceCapable[] |
| |icon:times[] |
| |icon:times[] |
| |icon:times[] |
| |
| |java.lang.Enum |
| |icon:check[] |
| |icon:check[] |
| |icon:check[] |
| |
| |java.lang.Enum[] |
| |icon:times[] |
| |icon:check[] |
| |icon:check[] |
| |
| |=== |