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!



Reply via email to