+1 for moving to enum, i was looking into the issue described in hhh-6362, and had some local fix
how about org.hibernate.engine.internal.Versioning.OptimisticLockingStrategy? (this is what i used in my fix) On Jun 24, 2011, at 8:43 AM, Steve Ebersole wrote: > On 06/23/2011 05:42 PM, Gail Badner wrote: >> I just ran into an issue where EntityBinding.getOptimisticLockMode() returns >> an ordinal from a org.hibernate.annotations.OptimisticLockType enum that is >> inconsistent with the static constants in >> org.hibernate.engine.internal.Versioning. >> >> Jira issue: >> http://opensource.atlassian.com/projects/hibernate/browse/HHH-6362 >> >> I'm not clear on what conventions there are for enums that are >> source-specific. >> >> My preference would be to: >> >> 1) Extract the static constants for version type from >> org.hibernate.engine.internal.Versioning into a new enum that is an SPI, >> org.hibernate.engine.spi.OptimisticLockMode. >> >> 2) Change EntityBinding.getOptimisticLockMode() and >> EntityBindingState.getOptimisticLockMode() to return >> org.hibernate.engine.spi.OptimisticLockMode. >> >> 3) Change sources to be responsible for converting from a source-specific >> value to org.hibernate.engine.spi.OptimisticLockMode. > > Aside from the enum name, I think this is all goodness. These are > distinctly different from LockModes and we should avoid that confusion. > I tend to like to use the term "strategy" with pluggable interfaces, > but I think OptimisticLockingStrategy is definitely descriptive here. > Anyone else with better names? > > >> In the same vein, I see there is >> org.hibernate.metamodel.binding.CascadeType, which is not source-specific. >> In that class, there's a TODO to integrate it with >> org.hibernate.engine.spi.CascadeStyle. >> >> I also see that AttributeBindingState.getCascadeTypes() returns >> Set<CascadeType>. >> >> My preference would be to remove org.hibernate.metamodel.binding.CascadeType >> and to change AttributeBindingState.getCascadeTypes() and >> AbstractAttributeBinding.getCascadeTypes() to: >> >> org.hibernate.engine.spi.CascadeStyle getCascadeStyle(); > > I think this is fine. The comment is Hardy's though, so lets let him > respond to see if he had something else in mind. > > -- > Steve Ebersole <st...@hibernate.org> > http://hibernate.org > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev