Fluent NHibernate
Dev Semantic Model Roadmap

Semantic Model Roadmap

  • Discuss hibernate-mapping

    • Easy to merge all classes into one now
    • Renders assembly and namespaces moot
    • Have to migrate hibernate-mapping calls outside of class, as no longer appropriate
    • Make export to xml tricker
      • Do we just dump one big file or split it into separate files (more work)
    • Currently a hack
    • Should create own mapping, rather than piggybacking on the ClassMap
      • Conventions only or a ClassMap equivilent?
  • Classlikes need converting

    • Otherwise parts will need to work with new and old style (like PropertyMap is currently)
    • Each classlike would need Unmigrated* collections adding
    • Once all non-classlike parts are migrated, the Unmigrated* collections can be stripped
  • Collections need converting as a whole, too much work to migrate them one by one as they share a common base-class

    • I liked the look of Paul's deferred collection stuff, should use that!
  • All other parts can be migrated whenever, in no particular order

Don't be afraid to make breaking changes, backwards compatibility isn't an issue yet. Any large breakages should be discussed.

Actions

  1. Discuss hibernate-mapping and implement any changes
  2. Convert classlikes (in no specific order)
    • SubClassPart
    • JoinedSubClassPart
    • DynamicComponentPart
    • ComponentPart
    • CompositeElementPart
    • JoinPart
  3. Remove legacy from PropertyMap
  4. Convert other parts (in no specific order)
    • CompositeIdentityPart
    • DiscriminatorPart
    • ImportPart
    • KeyProperty
    • CachePart
    • IdentityPart
    • ManyToManyPart
    • ManyToOnePart
    • OneToManyPart
    • OneToOnePart
    • VersionPart

1 isn't blocking, so we can proceed with 2 while that's happening. Similarly 3 and 4 can be simultaneous. It's just 2 that needs to be done before 3 and 4 are.