NHibernate

NHibernate Course: Cancelled

5 commentsWritten on March 21st, 2011 by
Categories: NHibernate

I'm sorry to say that the NHibernate course i was going to give in April has been cancelled because there were too few registrations to make it worthwhile. Some people have inquired about the possibility of doing the course privately on-site, so the effort i've put into the prep-work might not be a total waste :) . I plan on making the examples i've prepared available for free on Github, so hopefully they'll be of good help to people who are new to NHibernate or for those who quickly want to experiment with some specific NHibernate features. I'll probably release it sometime next week since i intend to enjoy a bit of the spare time i've been missing lately ;) . They're not complete yet and more examples will be added over time by myself, and perhaps some contributions from people who want to add to them.

To those who did register: thanks for wanting to come, and sorry that you won't be able to. Perhaps some other time.

Update: First customer for having the course on-site has signed up. If you're interested in that as well, get in touch. Update 2: new date for the public course is June 20-22

Reminder: My NHibernate Course Is Coming Up

7 commentsWritten on March 8th, 2011 by
Categories: NHibernate

Just a reminder: my NHibernate course will be held from April 4th to the 6th in Belgium, and you can still register. You'll not only learn a lot about what NHibernate can do, you'll learn how to use it wisely. The format of the course will be pretty hands-on, meaning that there are plenty of exercises for you to complete. Theory and exercises will be mixed constantly throughout the day, at a rather rapid pace so you won't get a chance to get bored. In fact, i challenge you to get bored during the course! :P

This is the agenda for the course:

Day 1:

  • Quick ORM Introduction
  • Configuration
  • Classes & Mapping (hbm & fluent-nhibernate)
    • Entities
    • One-to-many associations
    • Many-to-one associations
    • Inheritance
  • Session/Transaction Management
    • In web applications
    • In service layers
  • Transitive Persistence
    • Transient & Persistent Entities
    • Cascades
    • Detached Entities

Day 2:

  • Querying
    • HQL
    • Criteria
    • QueryOver
    • LINQ
    • Polymorphic Queries
    • Named Queries
  • Performance Optimizations
    • Paging
    • Projections
    • Future Queries
    • Batching DML statements
    • Executable HQL (deletes/updates)
    • Stored Procedures/Views
    • Using native SQL
  • Optimistic Concurrency strategies
  • Pessimistic Locking

Day 3:

  • Identifier strategies
  • Inheritance strategies
  • Advanced mappings
    • Value type collections
    • Components
    • Component collections
    • (composite) User Types
    • Many-to-Many associations
    • Polymorphic associations
  • 2nd Level cache
    • Caching entities
    • Caching collections
    • Caching queries
  • Stateless Sessions

(Sorry for this shameless plug, but you'd do it too if you were me :) )

Full Details Of My NHibernate Course Are Available

1 Comment »Written on January 4th, 2011 by
Categories: NHibernate

I've teamed up with Sparkles to organize an NHibernate course. It'll be an intensive 3-day course, from April 4th to the 6th. The location still needs to be decided but it will be in Belgium. Full details are available here. All attendees will also receive a copy of the NHibernate 3.0 Cookbook. Hope to see some of you there :)

What Should I Cover In My NHibernate Workshop?

9 commentsWritten on December 29th, 2010 by
Categories: NHibernate

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

Recommended Book: NHibernate 3.0 Cookbook

No Comments »Written on October 24th, 2010 by
Categories: Books, NHibernate

The people from Packt Publishing asked me to review one of their new books, the NHibernate 3.0 Cookbook. I was a little hesitant at first to do yet another book review (don't worry, i'm gonna cut back on the reviews) but the NHibernate community needs a good, up to date NHibernate book and i was curious to see if this one could fill that void.

As the title says, it's a cookbook. It consists of a bunch of recipes for a very large variety of NHibernate-related tasks. These kind of books are usually pretty low on theory, but this one does a good job of backing up most of the recipes' practical steps with just enough of the background theory that you do need to use NHibernate effectively. I still prefer the approach used in NHibernate In Action, which is more heavy on theory, but that book unfortunately targets NHibernate 1.2. This one covers a lot of the new things that have been introduced in NHibernate 2, 2.1 and the upcoming 3.0 version and as such, is the most suitable NHibernate book available right now.

I'm not gonna go over each chapter like i usually do, so if you want to get a a glimpse of what the book covers, just click here. And as you can see, it covers quite a lot. As usual with NHibernate books, i'd like to see a bit more pages being spent on querying, but this task only becomes harder as NHibernate keeps adding more querying API's. Yes, both QueryOver and the LINQ Provider are covered. Unfortunately, the whole chapter that deals with querying covers HQL, Criteria, QueryOver and LINQ in a mere 44 pages. And while there are some examples of each, none of them are really covered in depth. That's probably not the goal of this book, and it would indeed be hard for any book to cover all of those querying API's in depth while not boring the hell out of your readers, but it is something that a lot of readers are going to need to look into a bit more if they're going to use NHibernate in real applications.

But don't let my nitpicking on the querying chapter fool you. This book is very useful to people who are new to NHibernate, and a lot of people who already have experience with it will learn a few new useful tricks or learn some things they didn't know yet. And while it contains a lot of useful information, it also manages to be a pretty quick read. And if you need any more convincing, just take a look at the price of the electronic version of this book ;)