Hi Joe, I'm not sure if Cayenne was created to be a next generation EOF or just an open-source ORM that was heavily influenced by the concepts in EOF. Andrus could answer that one better. There are still some areas of EOF that I'd consider superior to Cayenne, namely EOModeler was nicer than Cayenne Modeler (although Cayenne Modeler is improving) and EOF supported inheritance better (again, Cayenne is improving in that area, too).
We have a lot of WO applications here that are slowly being re-written to use Tapestry 5 + Cayenne. We were all sad to see WO (and EOF) wither and die, but at least T5+Cayenne seems to work rather well together. mrg PS. I interviewed for a WO job at the USPS. It didn't go so well when they told me they'd have to do a background investigation check and I'd have to provide them the addresses I'd lived at the past seven years. I looked at the interviewer and said, "You are the Post Office. Shouldn't you know where I've been the last seven years?" He was not amused. Really. Not. Amused. On Mon, Aug 8, 2011 at 10:32 PM, Joe Baldwin <[email protected]> wrote: > Hey Michael, > > this is an aside: > > I used to work with EOF some time ago when WebObjects first came out (we did > a project for USPS). EOF was pretty primitive by todays standards but at the > time it was an insanely advanced concept. It was my assumption that Cayenne > was started as a "next generation" EOF (I believe that Cayenne has far > surpassed EOF now though). Is this a fair characterization? > > Joe > > > > On Aug 8, 2011, at 10:19 PM, Michael Gentry wrote: > >> Hi Joe, >> >> In the past I used Cayenne with a legacy database that had 96-bit >> binary primary keys. I had to create my own Cayenne DB adapter and PK >> generator and specify using it in Cayenne Modeler. It wasn't too hard >> to do and worked perfectly with the existing system (which was >> actually WO/EOF-based). No conflicts since they both used the same >> key source. >> >> That's probably the direction you'll want to head ... >> >> mrg >> >> >> On Mon, Aug 8, 2011 at 6:45 PM, Joseph Senecal <[email protected]> wrote: >>> Thanks to the help provided from this mailing list, my prototype was done >>> on time and shows that the concept can work. >>> >>> The next problem to solve is how to get a Cayenne program to peacefully >>> coexist with legacy WebObjects programs that will be inserting records into >>> the same table. I can restrict the conflict to one table, but that one >>> table is central to all others and new records could be created by any >>> process that loads any of the related fact tables. >>> >>> The problem is that Cayenne and WebObjects use differently named sequences >>> to allocate primary keys. These sequences are also formatted differently >>> because WebObjects allocates primary keys one at a time where Cayenne >>> allocates primary keys 20 at the time. The obvious solution is to configure >>> the sequences for different primary key ranges. The problem is that these >>> programs will be running at over a dozen different sites, which makes >>> monitoring for exhausting of an assigned range problematic. My boss would >>> find a different solution, if one is possible. >>> >>> I'm sure that combining multiple ORM's has happened before. Does anyone >>> have advice as to the best way to make them play nicely together? >>> >>> Joe >>> > >
