Hi Craig,
I think the spec could be more explicit. Embedded and serialized are
syntactically orthogonal but not semantically orthogonal, therefore
they should be discussed together somewhere. The spec should state that
embedded="true" and serialized="true" are mutually exclusive. Also a
discussion of the meaning of embedded="false" serialized="false" for PC
instances would be useful. Maybe this belongs in Chapter 15.
-- Michelle
Craig Russell wrote:
Hi Andy,
On Aug 17, 2005, at 10:39 AM, Andy Jefferson wrote:
Hi Michelle,
It seems that jpox maps Object as serialized by default. Where
there is
no serialized or embedded attribute on the field, we map to a FK
column,
e.g. OBJECT102 BIGINT REFERENCES SIMPLE_CLASS, giving a jpox error:
Well we interpret all types as serialized="false", but in section
18.14 of the
spec "java.lang" types (which Object is) are to be embedded="true" by
default. So we interpret this as serialising the Object into the
table of the
class, into a BLOB column.
I tried to be more explicit about this in the Proposed Final Draft,
to say that embedded="true" doesn't mean serialized but embedded
column by column. Just like embedded PC instances.
Could you please take a look at the PFD and see if this is not clear
enough?
Thanks,
Craig
SimpleInterface, which we map identically to Object, works fine.
Because we treat an Interface as embedded="false" by default (since
it's not
specified in the list of embedded types in 18.14, so its effectively a
PersistenceCapable in that respect).
--
Andy
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!