I'm gonna do an NHibernate training/workshop in a few months, and before i can start preparing for it, i need to know what i'm going to cover in the workshop. The workshop should be 3 or maybe 4 days and the goal is that everyone attending it will learn a ton about what you can do with NHibernate, as well as how you should use it.
I just made a list of stuff that i'd like to cover, which is already pretty long. I'd rather start off with a long list and if necessary make some cuts if it turns out to be too much. If you guys have any tips on what else i should include, please let me know ![]()
Here's the current list:
- Configuration
- Classes & Mapping (hbm and FluentNHibernate)
- entities
- one-to-many associations (unidirectional & bidirectional)
- many-to-one associations (unidirectional & bidirectional)
- inheritance
- Session/Transaction Management
- session/transaction management in a web app
- session/transaction management in a service layer
- Transitive Persistence
- transient and persistent entities
- cascades
- detached entities
- Querying
- HQL
- criteria
- QueryOver
- LINQ
- polymorphic queries
- named queries
- Performance optimisations
- paging
- projections
- future queries
- batching DML statements
- executable HQL
- retrieving data from stored procedures / views
- using native SQL
- optimistic concurrency
- pessimistic locking
- identifier strategies
- inheritance strategies
- advanced mappings
- value types collections
- components
- component collections
- (composite) user types
- many-to-many associations (unidirectional & bidirectional)
- polymorphic associations (one-to-many, many-to-one)
- 2nd Level Cache
- entities
- collections
- queries
- stateless sessions (bulk data processing)
- extending nhibernate
- custom implementations of NHibernate components
- event listeners