That would mean marshalling would be spread between the table and the association classes. My thinking was that the association only informs whether or not the property should be a list or single entity. Using the table to get a marshaller means each table can implement custom marshalling if necessary.

I see the entity construction as something an association doesn't need to know. As the construction and hydration does not differ considerably for each association type.