Yeah, I think this is a really good idea to support, but like Rafael said, not all databases support this. So the new option you added for this is a good solution I think!

~Lincoln

On Fri, May 4, 2012 at 7:48 AM, George Gastaldi <gegastaldi@gmail.com> wrote:
Now I get it. :)

I always believed that this behavior is related to the supported
features on the database you use.

For example, if you use an Oracle DB, you can have a sequence for each
table, but that might mean having to place a @SequenceGenerator on
each entity.

It would be nice to have this feature when creating the JPA entity.
You may want to provide another option in method
org.jboss.forge.spec.javaee.jpa.EntityPlugin.newEntity(String, String)

Hope that helps,

George Gastaldi

2012/5/4 Ryan Bradley <rbradley@redhat.com>:
> Okay, so say we have two different entities in our scaffolded webapp,
> Customer and Account.  Under the current GenerationStrategy:
>
> I create a Customer object, and that will have an ID of 1.
>
> I create an Account object, and that will have an ID of 2, even though
> it is the first (and only) Account in the database.
>
> Using GenerationStrategy.IDENTITY, both objects will have identities of
> 1, i.e. there are separate sets of IDs kept for each table in the
> database.  One useful case that I can think of is that, in the Spring
> scaffold implementation, individual objects can be navigated to in the
> URL using their ID (e.g. /customers/1 would go to the Customer object in
> the database with an ID of 1).  Therefore, it might cause confusion if a
> user was trying to navigate using the URL but not necessarily knowing
> the ID of the object they are looking for (even if they know its ID
> relative to other objects of the same type).
>
> Does that clarify things?
>
> Cheers,
> Ryan
>
> On 05/04/2012 10:19 AM, George Gastaldi wrote:
>>> Thinking of scaffold implementations, it might be best if a separate set
>>> of IDs was generated for each separate entity.
>> I donīt think I get it. Can you give a practical example ?
>>
>> Regards,
>>
>> George Gastaldi
>>
>> 2012/5/4 Ryan Bradley<rbradley@redhat.com>:
>>> Greetings all,
>>>
>>> Currently, the entity plugin annotates the ID primary key with
>>> @GeneratedValue.  This annotation uses the default generation strategy,
>>> GenerationType.AUTO, to generate the values for this key.  Using this
>>> strategy, the same set of values is used for all entity tables.  In
>>> other words, you cannot have two entities with the same value for ID, as
>>> it is incremented with each entity creation rather than with each
>>> creation of an entity of a specific type.
>>>
>>> Thinking of scaffold implementations, it might be best if a separate set
>>> of IDs was generated for each separate entity.  I believe that this can
>>> be accomplished by annotating the field with
>>> @GeneratedValue(strategy=GenerationType.IDENTITY).  I was thinking of
>>> modifying the ScaffoldPlugin to change the GenerationType on this
>>> annotation in the generateFromEntity method (from-entity command).
>>>
>>> Any objections to this change?
>>>
>>> Cheers,
>>> Ryan
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
> _______________________________________________
> forge-dev mailing list
> forge-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev



--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."