I have been working on splitting the models in the branch according to the strategy on the wiki and wanted to highlight an undiscussed consequence. In the case I am currently working, eliminating the tight coupling between objects & person/user, if we switch to using getUser/PersonId() on things like PageUser, Widgets, etc we will end up with a database that does not have referential integrity to the person table. This same pattern will propagate throughout all "verticals". If we explicitly define a constraint in the JPA layer, it will break the ability to use different persistence strategies for verticals and at the database layer, we are defining
Everyone OK with the consequences and if not, is there an alternative that you can identify? -Matt
