See below... On Mon, Feb 23, 2015 at 3:33 AM, Emmanuel Bernard <emman...@hibernate.org> wrote:
> Which one do you intend being the default? > In 4.x AFAIR, it was > > * ImplicitNamingStrategyLegacyHbmImpl's behavior if you started ORM with > the classic APIs. > * ImplicitNamingStrategyLegacyJpaImpl's behavior if you started ORM via > the JPA APIS (or was it ImplicitNamingStrategyStandardImpl?) > Actually, no. It was always org.hibernate.cfg.EJB3NamingStrategy no matter how you bootstrapped. EJB3NamingStartegy is, unfortunately, not really any of these. To be honest, I am not really sure why that one was ever named EJB3; it does not follow the spec in many many cases (even the 1.0 spec). I guess we should make ImplicitNamingStrategyLegacyJpaImpl conform to EJB3NamingStartegy and have that be the default. > About names, I'm tempted to have: > > * ImplicitNamingStrategyJpaCompliantImpl > * ImplicitNamingStrategyLegacyJpaImpl > * ImplicitNamingStrategyLegacyHbmImpl > * ImplicitNamingStrategyComponentPathImpl > The idea is to make the names explicit with the intent. "Standard" does > not mean much per se. > Well you asked the question perfectly above :) "Standard" was not used at all to indicate compliance with the spec/standard. It was used because it is the standard/default impl. But still I prefer ImplicitNamingStrategyJpaCompliantImpl > > Emmanuel > > On Fri 2015-02-20 12:57, Steve Ebersole wrote: > > So at the moment I have the following ImplicitNamingStrategy impls: > > > > 1) ImplicitNamingStrategyStandardImpl - Which is compliant with the rules > > set forth in the JPA standard > > 2) ImplicitNamingStrategyLegacyJpaImpl - Which implements the initial > > support done for JPA 1, before JPA 2 clarified some things. > > 3) ImplicitNamingStrategyLegacyHbmImpl - Support dating back to the dawn > of > > time... > > 4) ImplicitNamingStrategyComponentSafeImpl - Mainly a port > > of DefaultComponentSafeNamingStrategy, although leveraging the > > AttributePath stuff I discussed earlier > > > > Couple of thoughts... > > > > First, we might want to rename ImplicitNamingStrategyLegacyJpaImpl to > > ImplicitNamingStrategyStandardImpl, and > ImplicitNamingStrategyStandardImpl > > to ImplicitNamingStrategyJpaCompliantImpl. WDYT? > > > > Second, I do not really like the phrase "component safe". "Safe" from > > what? The difference is that the whole component path is used in > > determining the name; so how about > ImplicitNamingStrategyComponentPathImpl? > > > > I do not plan on porting any of the other NamingStrategy impls. > > > > > > Also, here is the complete list of implicit naming hooks: > > 1) primary table > > 2) join table > > 3) collection table > > 4) discriminator column > > 5) tenant id column > > 6) id column (entity and idbag) > > 7) basic column > > 8) join column > > 9) pk join column > > 10 ) @Any discriminator column > > 11) @Any key column > > 12) map key column > > 13) list index column > > 14) foreign key name > > 15) unique key name > > 16) index name > > > > > > On Mon, Feb 2, 2015 at 3:13 PM, Emmanuel Bernard <emman...@hibernate.org > > > > wrote: > > > > > I’d say +1 for adding coverage of them in the implicit naming strategy. > > > > > > On 02 Feb 2015, at 19:16, Steve Ebersole <st...@hibernate.org> wrote: > > > > > > They do not. HBM, e.g., uses "idx" for map keys columns as well as > > > list/array index columns. JPA says to use {attribute-name}_ORDER for > list > > > index column. Unless I missed it (which is completely possible in > > > annotation binding) we always use the JPA-defined default in those > cases > > > rather than using any *implicit* naming hooks. > > > > > > So that is really the question. Do we want expand the breadth of what > is > > > covered by implicit naming strategy in this new model? I think its > > > reasonable. > > > > > > On Mon, Feb 2, 2015 at 11:28 AM, Emmanuel Bernard < > emman...@hibernate.org> > > > wrote: > > > > > >> > > >> On 02 Feb 2015, at 17:51, Steve Ebersole <st...@hibernate.org> wrote: > > >> > > >> On Mon, Feb 2, 2015 at 8:34 AM, Emmanuel Bernard < > emman...@hibernate.org> > > >> wrote: > > >> > > >> I think you’re missing things like @MapKeyColumn, @OrderColumn > > >>> > > >> > > >> So that's a good discussion. These are things that have previously > been > > >> hard-coded defaults (at least on hbm side) and therefore had no > specific > > >> naming strategy hooks. I'm all for being specific, so if everyone > agrees > > >> it is a good idea to add methods for stuff like this, I am fine with > that. > > >> > > >> > > >> I know JPA has well defined values for these. I am not sure they match > > >> 100% the HBM version. > > >> > > > > > > > > > > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev