>-----Original Message----- >From: Ate Douma [mailto:[email protected]] >Sent: Monday, August 27, 2012 9:12 AM >To: [email protected] >Subject: Re: Model Split > >On 08/24/2012 07:01 PM, Franklin, Matthew B. wrote: >> 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? > >+1 > >Maintaining referential integrity across multiple verticals (e.g. possibly >different type of backends) will involve multiple systems, you cannot rely on >one single system to maintain it. > >Providing sanity checks, cleanup/vacuum operations etc. to fix/repair possible >inconsistencies, periodically or on demand, can be possible but depends on >which >systems are in use and only can be done 'on top', not 'from within'. > >Ate > >> >> -Matt >>
+1 Tony
