[forge-dev] @GeneratedValue Strategy

Lincoln Baxter, III lincolnbaxter at gmail.com
Fri May 4 12:26:55 EDT 2012


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 at 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 at 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 at 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 at lists.jboss.org
> >>> https://lists.jboss.org/mailman/listinfo/forge-dev
> >> _______________________________________________
> >> forge-dev mailing list
> >> forge-dev at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/forge-dev
> > _______________________________________________
> > forge-dev mailing list
> > forge-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/forge-dev
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>



-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120504/1818170d/attachment.html 


More information about the forge-dev mailing list