Hi Darren,

I just commited a small fix to add a new preference to the plugin.

You should be able to set the generator type per table with the prefs file. From the generated sample prefs file:

...
cmp30.tables.flights.pk-generator-type=NONE
...
cmp30.tables.persons.pk-generator-type=AUTO

If you look at the vm template, you'll see it's not the most robust solution. I'll try to get a proper version up, with GUI settings and checking on the legal values.

But feel free to commit your own work. Would be cool if we could get out a proper version of the plugin with support for all major configuration options soon :)

.eivind

On Mon, 7 Nov 2005, Darren Hartford wrote:

Hi Eivind, Wouter,
I originally thought the same thing Wouter as far as the AUTO only being
an Integer or a Long, however that is not always the case.  I do have
one test application that uses the 'GUID' pattern where the
auto-generated (although application-supplied in this scenario) key is
actually a String.  GUID is something like the server name, the time,
and the network address hashed together in a 32-bit char, can't remember
exactly, but is a use-case for GENERATOR-type that is a String.

Having said that, the GUID pattern is probably a new GENERATOR type not
yet defined and does not match the definitions provided for these types
(including the AUTO type):

http://www.caucho.com/resin-3.0/ejb3/cmp-table.xtp

* NONE - no auto generation for this field
* IDENTITY - the database supplies the new key, e.g. auto_increment,
SERIAL, or IDENTITY
* SEQUENCE - use a SEQUENCE type to generate the key
* TABLE - use a @TableGenerator for the key
* AUTO - choose the generator based on the database
  o MySQL - IDENTITY using auto_increment
  o Resin - IDENTITY using auto_increment
  o Postgres - SEQUENCE
  o Oracle - SEQUENCE

So, from a more educated standpoint, AUTO is designed to be underneath
only IDENTITY/SEQUENCE, so yes, AUTO *should* only work if the field is
an Integer/Long (unless SEQUENCE can also handle others).

Regardless, is there something I can put in the preference file to set
the per-table generator to NONE? If not, I'll start poking around to
figure it out and commit it back.

-D



Hey,

I'll be adding functionality to choose generator type for
each table. From the spec, the available types are these 5:

public enum GeneratorType { TABLE, SEQUENCE, IDENTITY, AUTO, NONE };

Right now it's hardcoded with the AUTO option.

Cannot String primary keys be auto-generated? Guess we could
make that a default option?

Generator type will be available i the GUI and preferences.
I'll try to get a first version out during this week.

.eivindw

Yes,

Modify the velocity template to only generate this XDoclet tag when
the primairy key is either a Long or Interger. That is the way its
supposed to be anyways imho :)

Regards, wouter



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
middlegen-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/middlegen-user




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
middlegen-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/middlegen-user

Reply via email to