create objects in stages; disable autoflush, or risk null constraints.