According to the documentation complex fields aren't included in inserts unless they have the [Editable(true)] attribute.
In reality this seems to be the same for selects and updates, complex fields aren't included unless they have [Editable(true)]. This behaviour is undocummented so it's unclear whether this is intended, but there doesn't seem to be a way to define complex readonly fields.