1

Been poking around the web because I was curious as to why they called it that but haven't found anything yet. Anyone know?

(I checked the FAQ and it wasn't clear if questions on history/origins were OK to put here or not, but I figured it wouldn't be good on StackOverflow, feel free to start closing it if it is out of scope and I will delete.)

3
  • 2
    N stands for .NET I guess. See stackoverflow.com/q/1332147/995876 for hibernate
    – Esailija
    Jun 19, 2013 at 13:22
  • @Esailija good find! I guess that is a good enough answer... the data 'hibernates' until you request it again... I guess finding the guy who named it that and asking him would be the only way to get a more solid answer
    – MetaGuru
    Jun 19, 2013 at 13:27
  • history questions are sometimes on topic for Programmers. There are a number of meta discussions about the matter. Your question could be stronger by showing more research.
    – user53019
    Jun 19, 2013 at 15:34

2 Answers 2

11

Gavin King created Hibernate for Java back in 2001 as an alternative to EJBs. His project was later taken over/sponsored by JBoss, which is now part of Red Hat.

There was another alternative at the time called TopLink for Java, originally by Object People, then bought by BEA, and now owned by Oracle. Hibernate borrowed TopLink's concept of object/relational mapping (ORM) to simplify the translation of Java objects to relational database records and vice versa.

Anyhow, the idea is that often you need your data to go into stasis for an indefinite period of time--that is, until somebody needs it again. This is not the sort of thing you want to leave in volatile memory--you want it to be persistent.

This is what hibernation is all about. When a bear goes into hibernation in the winter, his bodily systems slow down to the point where they consume almost no energy--thus he doesn't have to do typical bear things like hunting. Hibernation is going into a sort of stasis until activity is required again.

So, when Gavin was looking for a name for his project, he came up with "Hibernate" as a fairly descriptive name. Hibernate was then ported to platforms other than Java, most notably to .NET. In order to avoid confusion with the original Hibernate (which is a Java tool) they called it nHibernate, with the "N" standing for .NET.

5
  • Thank you for the story but the bear analogy is wrong. In fact bears don't hibernate, they just winterize. Dormice for instance (on NHibernate logo) do hibernate.
    – bN_
    Sep 21, 2021 at 7:48
  • 1
    @bN_ - that's curious. So these guys are wrong? yellowstone.org/bear-hibernation-5-fun-facts Sep 22, 2021 at 14:51
  • 1
    Oh sorry, it seems that in English you have only one word which is "hibernation". In French we have two words : "hibernation" and "hivernation" to distinct the two different strategies used by animals to pass winter. I thought that "winterizing" was the translation for "hivernation" but I was wrong. sciencepost.fr/hivernation-hibernation-cest-quoi-difference that said the animal on NHibernate logo is a dormouse and not a bear ;)
    – bN_
    Sep 23, 2021 at 19:44
  • 1
    Coincidentally, Gavin King (i.e., the creator of Hibernate) is from Australia, where there are neither bears nor dormice. Sep 27, 2021 at 14:52
  • haha, thank you for the fun fact :)
    – bN_
    Sep 28, 2021 at 16:23
1

It's the .NET port of Hibernate. At least it started out as such.

It's a somewhat popular naming pattern for .NET ports of existing projects to just stick an "N" in front or a "#" in the back. E.g. NUnit, a port of JUnit (itself a port of SUnit). Noda Time, a port of Joda Time.

6
  • 3
    So... why is Hibernate called that?
    – Oded
    Jun 19, 2013 at 13:22
  • 4
    Well... because ripping objects from an address space, putting them at rest in a database, and later reawakening them in a different process is rather like hibernating. I can't really think of a more directly applicable name. Jun 19, 2013 at 13:30
  • 2
    @kilianFoth sounds more like kidnapping :-) Jun 19, 2013 at 14:00
  • 2
    @DanPichelman: Only if the database refuses to give the objects back to the application unless the application pays large amounts of money in cash. :P Jun 19, 2013 at 14:32
  • 1
    @FrustratedWithFormsDesigner I hate it when DBAs get all uppity like that.. Jun 19, 2013 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.