Thanks Andrus! I'll give it a try.
- Gary
On 1/18/05 12:37 PM, "Andrus Adamchik" <andru..bjectstyle.org> wrote:
> Hi Gary,
>
> Current M1 already contains a "fake" support for autogenerated columns ...
> This is mostly workarounds for SQLServer to allow current Cayenne to work
> on top of auto-increment schema without throwing exceptions... With MySQL
> this worked even before M1.
>
> I promised to roll out the "real" support for a while, but it turned out
> to be a bigger change than originally envisioned. Mainly because of the
> issues with managing the object graph during commit when the some keys are
> not known before the commit....
>
> Now after two paragraphs of noise, here is the good news ;-)
> Auto-generated PKs mostly work in the last nightly build (01/18). You are
> more than welcome to try it out. No adapter extentions are needed. Just
> open your project in the Modeler, select MySQL adapter, and mark PK
> columns (DbAttributes) as "Auto" in the new Modeler.
>
> I say "mostly work" as there are a few things that still have to be
> cleaned up:
>
> (1) Modeler schema reverse/forward engineering ignores auto increment. So
> you have to check the checkbox manually, and also manually update the
> column property in the DB (very easy with phpMyAdmin)
>
> (2) One [rather uncommon] scenario is broken - If a dependent object
> obtains it key form another (master) object and master uses autincrement,
> you can't replace one master with another for dependent. This is uncommon
> as dependent objects are usually tied to their master for their life (e.g.
> UserDetail is never reassigned to a different User).
>
> There maybe other special cases that break .... I am doing some
> refactoring to make everything more consistent, but M2 may go out even
> before this is done, as IMO it is usable in its current state.
>
> Andrus
>
>
>> I'm evaluating Cayenne for an current project. It's a fairly large,
>> existing, database that uses MySQL AUTO_INCREMENT to handle the primary
>> key fields. Switching to Cayenne's "pk table" just won't work, there's
>> a LOT of legacy data there I just cannot change.
>>
>> But everything else in Cayenne looks great, and I'd vastly prefer an
>> alternative to Hibernate (which I'm using now) and it's constant
>> irritations (XML hell, code-generation difficulties, etc.). I swear,
>> using that product is like death-by-1000-irritants, particularly for
>> bottom-up efforts.
>>
>> I read back through the Cayenne archives and it looks like support for
>> database-generated PK's (such as MySQL's AUTO_INCREMENT) is slated for
>> 1.2, which is now at Milestone 1 with Milestone 2 being worked on.
>>
>> So...
>>
>> A few of questions:
>>
>> 1) What is the status for support of db-based PK generation in 1.2? Is
>> it there?
>>
>> 2) Does (or will) 1.2 come with a MySQL adaptor that directly implements
>> support for native-pk generation?
>>
>> 2a) Or is the plan to support the retrieval of db-generated keys in an
>> architectural sense, but still leave it as an exercise for the user to
>> subclass the MySQL adaptor?
>>
>> Thanks much. I'll keep dealing with Hibernate, for now, but I'm very
>> much hoping Cayenne can save me soon. :-)
>>
>> - Gary
>
>
>
This archive was generated by hypermail 2.0.0 : Tue Jan 18 2005 - 16:03:45 EST