-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Metamodel Integration Tasks
JIRA issue: HHH-8897
Repository: https://github.com/gbadner/hibernate-core Branch: HHH-8897-replace-metamodel
In order to minimize the impact of diverging functionality in master/metamodel branches, I took the following approach:
- create a branch of master (HHH-8897-replace-metamodel);
- delete the existing org.hibernate.metamodel package (main and test);
- org.hibernate.metamodel package (main and test) from the metamodel branch into into HHH-8897-replace-metamodel;
- make minimal code changes to accommodate the new metamodel.
This allows new/diverging functionality from the metamodel branch (outside of org.hibernate.metamodel) to be merged by the person must knowledgeable about that new/diverging functionality.
I did merge some functionality from metamodel branch that was required by org.hibernate.metamodel. In these cases, I made my best guess. It would be good for someone more familiar with the code to ensure that I did the right thing.
- TBD
The following test failures probably require functionality to be merged from metamodel branch:
org.hibernate.test.cid.CompositeIdWithGeneratorTest fails in master because new metamodel cannot handle an IdentityGenerator w/ more than one column. (was changed to IdentifierGenerator on metamodel branch). org.hibernate.test.propertyref.basic.BasicPropertiesTest fails on master; not in metamodel branch.
Tests that extend BaseUnitTestCase (and not BaseCoreFunctionalTestCase) that explicitly build Configuration (requires merging changes to testing code from metamodel branch). For now, they throw NotYetImplementedException:
- org.hibernate.test.annotations.access.xml.XmlAccessTest
- org.hibernate.test.annotations.id.JoinColumnOverrideTest
- org.hibernate.test.annotations.id.sequences.JoinColumnOverrideTest
- org.hibernate.test.annotations.uniqueconstraint.UniqueConstraintValidationTest
- org.hibernate.test.cfg.cache.CacheConfigurationTest
- org.hibernate.test.nationalized.SimpleNationalizedTest
- org.hibernate.test.naturalid.inheritance.spread.SpreadNaturalIdTest
- org.hibernate.test.type.AttributeConverterTest
- org.hibernate.serialization.SessionFactorySerializationTest
Tests that don't support new metamodel yet:
- org.hibernate.test.constraint.ConstraintTest
Don't know why the following are passing with new metamodel (they are marked @FailureExpected in both metamodel and master branches):
- org.hibernate.test.collection.set.PersistentSetNonLazyTest.testLoadChildCheckParentContainsChildCache
Don't know why the following are passing after integration into master (they are marked @FailureExpectedWithNewMetamodel in metamodel branch):
- org.hibernate.test.instrument.runtime.JavassistInstrumentationTest.testLazy()
- org.hibernate.test.instrument.runtime.JavassistInstrumentationTest.testLazyManyToOne
- org.hibernate.test.instrument.runtime.JavassistInstrumentationTest.testManyToOneProxy
- org.hibernate.test.instrument.runtime.JavassistInstrumentationTest.testSharedPKOneToOne
BeanValidation is not working:
- org.hibernate.test.annotations.beanvalidation.BeanValidationAutoTest
- org.hibernate.test.annotations.beanvalidation.BeanValidationGroupsTest
- org.hibernate.test.annotations.beanvalidation.BeanValidationProvidedFactoryTest
- org.hibernate.test.annotations.beanvalidation.DDLTest
- org.hibernate.test.annotations.beanvalidation.DDLWithoutCallbackTest
- org.hibernate.test.annotations.beanvalidation.HibernateTraversableResolverTest
not supported (need to rebuild xsd) (introduced by HHH-7807):
- org.hibernate.test.hql.BulkManipulationTest
- org.hibernate.test.idprops.IdentifierPropertyReferencesTest
- org.hibernate.test.immutable.ImmutableTest
- org.hibernate.test.keymanytoone.bidir.component.EagerKeyManyToOneTest
- org.hibernate.test.keymanytoone.bidir.component.LazyKeyManyToOneTest
- org.hibernate.test.keymanytoone.bidir.embedded.KeyManyToOneTest
- org.hibernate.test.keymanytoone.bidir.ondelete.KeyManyToOneCascadeDeleteTest
- org.hibernate.test.keymanytoone.unidir.ondelete.KeyManyToOneCascadeDeleteTest
- org.hibernate.test.loadplans.process.NonEncapsulatedCompositeIdResultSetProcessorTest
- org.hibernate.test.loadplans.walking.KeyManyToOneWalkingTest
- org.hibernate.test.onetoone.formula.OneToOneFormulaTest
EntityMode.MAP not working:
- org.hibernate.test.entitymode.map.basic.DynamicClassTest
- org.hibernate.test.entitymode.map.subclass.SubclassDynamicMapTest
- org.hibernate.test.legacy.MapTest
- org.hibernate.test.onetoone.nopojo.DynamicMapOneToOneTest
- org.hibernate.test.tm.CMTTest
Discriminators for joined subclasses has wrong type sometimes:
- org.hibernate.test.joinedsubclass.JoinedSubclassWithImplicitDiscriminatorTest.metadataAssertions()
- org.hibernate.test.joinedsubclass.JoinedSubclassWithExplicitDiscriminatorTest.metadataAssertions()
- org.hibernate.test.collection.lazynocascade.LazyAssociationNoCascadeTest
Default index type when @MapKeyColumn is used:
- org.hibernate.test.collection.map.PersistentMapTest
New metamodel does not support a registered default tuplizer:
- org.hibernate.test.dynamicentity.tuplizer2.ImprovedTuplizerDynamicEntityTest