Using interfaces rather than null fields seems worthwhile for sets of fields. If there are several fields that could be missing for independent reasons there would be many subtypes complicating the matter.<p>As for the `favoriteToy` suggesting, I would much prefer the original association to the toy collection with the default ordering being by preference where limiting it to one returns the favorite and otherwise have a uniform way to query for more.