NHibernate day in Bologna

NHibernate day in Bologna

NHDay_3During a whole day several speakers spoke about NHibernate and related topics. This conference was in Bologna and was very well prepared and organized.

You could watch the slides and the videos of the sessions here. I joined the following sessions:


Simone Chiaretta opened the conference and showed during his keynote how the day is organized. But he couldn’t resist to make a little joke about us Swiss folk which isn’t part of the European union, so basically we shouldn’t be here ;-).

On the next graphic you see a summary about the attendees.


Actually there were around 150 attendees, two rooms with parallel sessions. In the main room mainly Ayende hold his sessions.

Links: Slides, Video

What’s new in NH 3.0

P1030010 Oren Eini, aka Ayende,  showed in this session what’s new in NHibernate 3.0. For me there wasn’t a lot new, also because I hold two presentation at the .Net User group Bern about NHibernate in august.

Highlights in this session:

  • New book: NHibernate 3.0 Cookbook by Jason Dentler
  • NHibernate is a matured technology: It is 7 years old
  • New LINQ Provider in NHibernate (Ayende said he suffered to write the first implementation, it wasn’t any fun to do it)
  • NHibernate for medium trust environments
  • Query Over
  • Extensions in the Criteria API
  • Strongly typed configuration
  • Dependencies between NHibernate and Log4net removed
  • Over 170 issues fixed

After the presentation I asked Ayende if the lazy properties aren’t in NHibernate 3.0. But Ayende just forgot to mention them so he did it in his next session.

Links: Slides, Video

Loosely Coupled Complexity – Unleash the power of your domain model, using Event Sourcing and CQRS

P1030022 This session by Alberto Brandolini was very interesting and entertaining. The topic was about CQRS. It is currently a hot topic, so I took the chance to learn a bit more about it. There was a lot of content but the presentation run a bit out of time.

Alberto asked during his presentation a lot of interesting questions and showed by very nice slides (only the beamer had sometimes problems with the colors) how to transform a classical layered architecture to a CQRS architecture. The following two graphics show the transformation. On the left you see the traditional architecture and on the left the CQRS architecture:

 image image

Highlights in this session:

  • Transform current architecture to a CQRS architecture
  • Anemic Domain Model IS an anti pattern
  • List of how to shoot yourself in the foot
  • Aggregates
  • Traditional DDD View of an architecture
  • Introduction into CQRS
  • Event Sourcing
  • Advice: Start small

Here my most favored slide of this session:


As usual, CQRS isn’t a silver bullet. You have to ask yourself if it makes sense to do all queries through an object relational mapper and not directly to the database. That doesn’t mean to go back to ASP or PHP, but just use the tools for the purpose for which they made for.

Links: Slides, Video

NHibernate Hidden Gems

P1030043 This session was also held by Ayende. He showed some concepts in NHibernate by showing some code.

One concept was quite interesting: The Feel-the-Pain-Interceptor. During the development of a new application the database server is on the same machine like the application server or the web server. Because the developer doesn’t feel the pain of a huge amount of queries to the database or a query which returns a lot of data. But in a production environment the database server isn’t normally installed on the same server like the web server or application server. To make the developer aware to optimize the communication to the database server, Ayende implemented an Interceptor which just make sleep the current thread for one or two seconds. Now the developer feels the pain when he tests the application.

Highlights in this session:

  • Feel-the-Pain-Interceptor
  • Optimize startup times
  • Use of User Types
  • Use of Listeners
  • Use of Future, specially in Criteria API

Links: Slides, Video

NHibernate Worst practices

P1030054 This was a very interesting session with Ayende. He discussed the worst practices with NHibernate.

Highlights in this session:

  • Hiding NHibernate (by building additional layers on top of NHibernate)
  • Select N + 1 Problems
  • If the Database couldn’t do it, NHibernate can’t do it as well
  • Micro management of the NHibernate session

After Ayende finished his presentation he asked the attendees what they did bad things with NHibernate or what kind of worst practices they observed.

Links: Slides

NHibernate Q&A round table

In this session Fabio Maulo joined us through Skype from Argentina (unfortunately audio only). It was funny, because Ayende mentioned after the session, that it was the first time that Ayende and Fabio talked together about NHibernate:


P1030062 During this session the attendees could ask question to Fabio or to Ayende and they tried to answer them. Fabio speaks much better Italian or Spanish, so most of the English questions was answered by Ayende.

But Fabio mentioned the following several times: “Welcome to NHibernate, welcome to the world of options!”

One last thing: At the beginning of this session Ayende and Fabio announced the fist beta of NHibernate 3.0.

Links: Video


P1030067 Ayende presented the current version of RavenDB. It was very interesting to see a NoSQL Database in Action. One more item for my to-do-list. With RavenDB there is no longer a need for an object relational mapper because the data could be stored directly into the database.

At the dinner after the conference I asked Ayende if RavenDB is also designed to be shared. He answered with no, as I expected. If it would be shared, then you probably need at the end a framework to map your model to the model of the database. And something funny: Maybe you would also need someday a person like a document database admin (DDA).

Links: Slides, Video


The location of the conference Bologna was for me well reachable. I was surprised from how many countries in Europe people came to this event. I  wasn’t the only geek from Switzerland, also Kay Herzam, was present at the event.

iPhone 031 NHDay_Friday_Dinner

For me the networking was very important. So I had also dinner at Friday with the a group of attendees, organizers and speakers. Also during Saturday (lunch and dinner) I had the possibility to discuss with Ayende or Rob Ashton. I had a lot of fun and could make a lot of contacts to Italian software engineers.

And one final note: The food in Bologna was exceptional (as expected) and Bologna has also a very nice old city.

4 thoughts on “NHibernate day in Bologna

  1. Thank you for the great report… see you in December.
    And about that joke… basically it’s just envy: I’d love to live in Switzerland, but I have to learn German first 🙂

  2. Hi Patrick, do you remember me ?
    For me the event was of great technological value and meetings with architects and developers like me. Greetings.

  3. Hi,

    I would like to know more about the academic background of Fabio Maulo.
    Also, it would be great to verify how many of important nHibernate project commiters are really professional engineers, graduated by recognized universities.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.