This document is supposed to be used as a tracker of the progress of hibernate metamodel branch.
We want a uniform place to track the progress, so I use this instead of JIRA.
There are 5 major works shoulb be done to complete a mapping:
- source
- binding
- binder
- persister
- testing
-
Entity
-
Identifiers -- FINISHED, but may need to review, at least composite identifier's hibernate type is not binded
- simple identifier
- aggregated composite identifier
- composite identifier
-
Optimistic locking properties (optional)
-
Property
-
Embedded objects (aka components)
-
Inheritance strategy
-
Mapping one to one and one to many associations
-
Natural-id
both hbm and annotations are finished, also integrated with SessionFactory
-
NaturalId Cache
both hbm and annotations are finished, also integrated with SessionFactory
-
Any --- NOT YET IMPLEMENTED
-
Properties --- NOT YET IMPLEMENTED
-
Auxiliary database objects
source, binding, binding are finished, but no tests nor integrated
-
Generated properties
all finished, also integrated with persister
-
Column transformers
all finished, also integrated with persister
- list
- set
- bag
- idbag
- array
- primitive array
- Unidirectional associations
- Many-to-one
- One-to-one
- One-to-many
- Unidirectional associations with join tables
- One-to-many
- Many-to-one
- One-to-one
- Many-to-many
- Bidirectional associations
- one-to-many / many-to-one
- One-to-one
- Bidirectional associations with join tables
- one-to-many / many-to-one
- one to one
- Many-to-many
- Dependent objects
- Collections of dependent objects
- Components as Map indices
- Components as composite identifiers
- Dynamic components -- NOT YET IMPLEMENTED
- Table per class hierarchy
- Table per subclass
- Table per subclass: using a discriminator
- Mixing table per class hierarchy with table per subclass
- Table per concrete class
- Table per concrete class using implicit polymorphism
- Mixing implicit polymorphism with other inheritance mappings
org.hibernate.cfg.beanvalidation.TypeSafeActivator -- NOT YET IMPLEMENTED
Not sure where this best fits, but I noticed that org.hibernate.metamodel.spi.domain.Superclass is not used at all. Not sure if we really discussed the best way to model the notion of "mapped superclass" in the binding model yet; I know I do not have a clear answer for that right now.