<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://nhforge.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>NHibernate blog : NHibernate Documentation</title><link>http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate+Documentation/default.aspx</link><description>Tags: NHibernate Documentation</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>NHibernate 3 Beginners Guide published</title><link>http://nhforge.org/blogs/nhibernate/archive/2011/08/29/nhibernate-3-beginners-guide-published.aspx</link><pubDate>Mon, 29 Aug 2011 20:27:00 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:975</guid><dc:creator>gabriel.schenker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://nhforge.org/blogs/nhibernate/rsscomments.aspx?PostID=975</wfw:commentRss><comments>http://nhforge.org/blogs/nhibernate/archive/2011/08/29/nhibernate-3-beginners-guide-published.aspx#comments</comments><description>&lt;p&gt;Note: This post has been cross posted from my &lt;a href="http://lostechies.com/gabrielschenker/2011/08/29/nhibernate-3-beginners-guide-published/"&gt;own blog&lt;/a&gt; at Los Techies.&lt;/p&gt;
&lt;p&gt;I am very pleased to announce that my book &lt;a href="http://www.packtpub.com/nhibernate-3-beginners-guide/book"&gt;NHibernate 3 Beginners Guide&lt;/a&gt; has finally been published. It is a wonderful feeling to finally have a book in my hands that cost me a couple of months of intense work. But I think the result is well worth it.&lt;/p&gt;
&lt;p&gt;If you are interested in the book then there is also a &lt;a href="http://www.packtpub.com/sites/default/files/6020OS-Chapter-3-Creating-a-%20Model.pdf?utm_source=packtpub&amp;amp;utm_medium=free&amp;amp;utm_campaign=pdf"&gt;free chapter&lt;/a&gt; available for download.&lt;/p&gt;
&lt;p&gt;I was lucky to have &lt;a href="http://fabiomaulo.blogspot.com/"&gt;Fabio Maulo&lt;/a&gt; and &lt;a href="http://joseoncode.com/"&gt;Jos&amp;eacute; F. Romaniello&lt;/a&gt; as my reviewer, the former being the lead of the &lt;a href="http://www.nhforge.org"&gt;NHibernate&lt;/a&gt; project and the latter an active contributor to the the project.&lt;/p&gt;
&lt;p&gt;My goal for this book has been to provide an easy to follow introduction to NHibernate 3.x. The text covers NHibernate up to version 3.1 GA and even references some of the new features of NHibernate 3.2 GA. It was very important to me to not use a data centric approach but rather choose a &lt;strong&gt;model first&lt;/strong&gt; approach. &lt;/p&gt;
&lt;p&gt;In this regard this book is NOT just an updated version of &lt;a href="https://www.packtpub.com/nhibernate-2-beginners-guide/book"&gt;NHibernate 2 Beginners Guide&lt;/a&gt; but rather a complete rewrite.&lt;/p&gt;
&lt;p&gt;I also have paid attention to cover all foundational topics in a clear and concise way. In no way did I want to abandon the reader in the dust of uncertainty.&lt;/p&gt;
&lt;p&gt;Let me provide you the list of chapters found in the book with a short introduction about the respective content of each chapter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 1, First Look&amp;hellip;&lt;/strong&gt; explains what NHibernate is and why we would use it in an application that needs to access data in a relational database. The chapter also briefly presents what is new in NHibernate 3.x compared to the version 2.x and discusses how one can get this framework. Links to various sources providing documentation and help are presented.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 2, A First Complete Sample&amp;hellip;&lt;/strong&gt;walks through a simple yet complete sample where the core concepts of NHibernate and its usage are introduced.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 3, Creating a Model&amp;hellip;&lt;/strong&gt; discusses what a domain model is and what building blocks constitute such a model. In an exercise the reader creates a domain model for a simple ordering system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 4, Defining the Database Schema&amp;hellip;&lt;/strong&gt;explains what a database schema is and describes in details the individual parts comprising such a schema. A schema for the ordering system is created in an exercise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 5, Mapping the Model to the Database&amp;hellip;&lt;/strong&gt;teaches how to bridge the gap between the domain model and the database schema with the aid of some wiring. This chapter presents four distinct techniques how the model can be mapped to the underlying database or vice versa. It is also shown how we can use NHibernate to automatically create the database schema by leveraging the meta-information contained in the domain model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 6, Sessions and Transactions&amp;hellip;&lt;/strong&gt;teaches how to create NHibernate sessions to communicate with the database and how to use transactions to group multiple tasks into one consistent operation which succeeds or fails as a whole. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 7, Testing, Profiling, Monitoring and Logging&amp;hellip;&lt;/strong&gt;introduces how to test and profile our system during development to make sure we deliver a reliable, robust and maintainable application. It also shows how an application can be monitored in a productive environment and how it can log any unexpected or faulty behavior.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 8, Configuration&amp;hellip; &lt;/strong&gt;explains how we can tell NHibernate which database to use, as well as provide it the necessary credentials to get access to the stored data. In addition to that many more settings for NHibernate to tweak and optimize the database access are explained in this chapter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 9, Writing Queries&amp;hellip;&lt;/strong&gt; discusses the various means how we can easily and efficiently query data from the database to create meaningful reports on screen or on paper.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 10, Validating the data to persist&amp;hellip;&lt;/strong&gt;discusses why data collected by an application needs to be correct, complete and consistent. It shows how we can instrument NHibernate to achieve this goal through various validation techniques.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 11, Common Pitfalls &amp;ndash; Things to avoid&amp;hellip;&lt;/strong&gt; as the last chapter of this book presents the most common errors developers can make when using NHibernate to write or read data to and from the database. Each such pitfall is discussed in details and possible solutions to overcome the problems are shown.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://nhforge.org/aggbug.aspx?PostID=975" width="1" height="1"&gt;</description><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate/default.aspx">NHibernate</category><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate+Documentation/default.aspx">NHibernate Documentation</category></item><item><title>Welcome NH2.1.0</title><link>http://nhforge.org/blogs/nhibernate/archive/2009/07/19/welcome-nh2-1-0.aspx</link><pubDate>Sun, 19 Jul 2009 13:27:00 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:414</guid><dc:creator>Fabio Maulo</dc:creator><slash:comments>22</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://nhforge.org/blogs/nhibernate/rsscomments.aspx?PostID=414</wfw:commentRss><comments>http://nhforge.org/blogs/nhibernate/archive/2009/07/19/welcome-nh2-1-0.aspx#comments</comments><description>&lt;p&gt;NHibernate 2.1.0GA was released today.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://sourceforge.net/projects/nhibernate/files/"&gt;Download it!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;After download it please take a look to releasenotes.txt file.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;Note: The series NH2.1.x is the last whose target is .NET2.0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The reference manual is available for download.&lt;/p&gt;
&lt;p&gt;We can&amp;rsquo;t release the API doc because its size. To compile API documentation you need to download sources and call : nant api.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://nhforge.org/aggbug.aspx?PostID=414" width="1" height="1"&gt;</description><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/News/default.aspx">News</category><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate/default.aspx">NHibernate</category><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NH2.1/default.aspx">NH2.1</category><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/Release/default.aspx">Release</category><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate+Documentation/default.aspx">NHibernate Documentation</category></item><item><title>Architecture Diagram Rework</title><link>http://nhforge.org/blogs/nhibernate/archive/2009/06/04/architecture-diagram-rework.aspx</link><pubDate>Thu, 04 Jun 2009 13:34:00 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:347</guid><dc:creator>Stefan Steinegger</dc:creator><slash:comments>14</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://nhforge.org/blogs/nhibernate/rsscomments.aspx?PostID=347</wfw:commentRss><comments>http://nhforge.org/blogs/nhibernate/archive/2009/06/04/architecture-diagram-rework.aspx#comments</comments><description>&lt;p&gt;While working on the &lt;a title="NHibernate Documentation Structure Proposal" href="http://nhforge.org/wikis/reference2-0en/nhibernate-documentation-structure-proposal.aspx"&gt;NHibernate Documentation&lt;/a&gt;, I&amp;rsquo;m drawing some pretty pictures. I actually never liked the architecture diagrams much, because I never knew what exactly they are trying to show.&lt;/p&gt;
&lt;p&gt;The original architecture diagram looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nhforge.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nhibernate/image_5F00_0CABFF94.png"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" alt="image" src="http://nhforge.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nhibernate/image_5F00_thumb_5F00_45593A52.png" border="0" width="482" height="394" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I never found this diagram very helpful. (When I started learning NH, Transient Objects and Persistent Objects were very confusing to me. Are this different classes?)&lt;/p&gt;
&lt;p&gt;So I decided to rework it. I ended up with something that is not very different from the existing diagrams so:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nhforge.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nhibernate/image_5F00_7E067510.png"&gt;&lt;img title="image" style="display:inline;border-width:0px;border:0;" alt="New Architecture Diagram" src="http://nhforge.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/nhibernate/image_5F00_thumb_5F00_719AE298.png" border="0" width="591" height="465" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I shouldn&amp;rsquo;t cover all the little details of the NHibernate&amp;rsquo;s internal design, just the concepts that are visible to the user.&lt;/p&gt;
&lt;p&gt;What do you think: is this kind of useful?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://nhforge.org/aggbug.aspx?PostID=347" width="1" height="1"&gt;</description><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate+Documentation/default.aspx">NHibernate Documentation</category></item><item><title>Documentation Project Launch</title><link>http://nhforge.org/blogs/nhibernate/archive/2009/06/02/documentation-project-launch.aspx</link><pubDate>Tue, 02 Jun 2009 16:52:00 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:344</guid><dc:creator>Stefan Steinegger</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://nhforge.org/blogs/nhibernate/rsscomments.aspx?PostID=344</wfw:commentRss><comments>http://nhforge.org/blogs/nhibernate/archive/2009/06/02/documentation-project-launch.aspx#comments</comments><description>&lt;p&gt;I started to restructure and enhance the NHibernate documentation. I want to move from a &amp;quot;Reference Documentation&amp;quot; to a &amp;quot;Programmers Manual&amp;quot;. The difference is, that when you read a reference documentation you already know the concepts and only need to know details like xml elements or HQL syntax. A manual should explain the concepts in detail and you should be able to understand it even if you are new to NHibernate.&lt;/p&gt;
&lt;p&gt;The current documentation is explaining quite a lot - it is not only a reference. Most of the documentation is already there. But in my opinion it is sometimes on the wrong place.&lt;/p&gt;
&lt;p&gt;Let me demonstrate this with some randomly picked examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chapter 2.3 &amp;quot;Contextual Sessions&amp;quot;: We don&amp;#39;t even know, what a session actually is at this point and what it is used for.&lt;/li&gt;
&lt;li&gt;Chapter 3.3 &amp;quot;User Provided ADO.NET connection&amp;quot;: It is the first chapter about how to optain a connection and it appears to be the easiest and recommended way. This chapter should be last option and there should be a hint that some things won&amp;#39;t work with user provided connections (eg. Hi-Lo identities afaik).&lt;/li&gt;
&lt;li&gt;Chapter 3.5 &amp;quot;Optional configuration properties&amp;quot;: There is a list of all optional properties. This is a &amp;quot;reference&amp;quot; kind of documentation. For instance, all the hibernate.cache.* parameters should be explained in a chapter about NH second level caches, unless the reader can&amp;#39;t do anything with the information.&lt;/li&gt;
&lt;li&gt;By the way, the possible values for each parameter is documented as &amp;quot;eg: ...&amp;quot;. It should be a complete list.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And so on.&lt;/p&gt;
&lt;p&gt;The new structure how I propose it is available as &lt;a target="_self" title="NHibernate Documentation Structure Proposal" href="http://nhforge.org/wikis/reference2-0en/nhibernate-documentation-structure-proposal.aspx"&gt;draft in the wiki&lt;/a&gt;. Please read it and comment to it if you think it should be different. Now it is still easy to change.&lt;/p&gt;
&lt;p&gt;It will be quite a bit of work, and I will need some help. Now stop moving the mouse towards the &amp;quot;return&amp;quot; or &amp;quot;close tab&amp;quot; button and keep reading. Thanks. You can even help if you don&amp;#39;t have much time and if you are not the Great Master of NHibernate. This is how you can help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Give me some feedback to my plans, on this blog and on the &lt;a title="NHibernate Documentation Structure Proposal" href="http://nhforge.org/wikis/reference2-0en/nhibernate-documentation-structure-proposal.aspx"&gt;structure proposal&lt;/a&gt;. This is important to me.&lt;/li&gt;
&lt;li&gt;Tell me what you miss in the documentation, or what you would like be changed. Also tell me what you like and should be kept as it is.&lt;/li&gt;
&lt;li&gt;I will ask specific questions in further blogs. So please keep reading them :-)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Later, I will need some people to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;review the docs. For instance, a native English speaker to turn my (and probably others) &lt;a title="Wikipedia on Pidgin" href="http://en.wikipedia.org/wiki/Pidgin"&gt;Pidgin&lt;/a&gt; English into real English. Or a NH developer who checks if it is actually true.&lt;/li&gt;
&lt;li&gt;develop the tools. We are using &lt;a title="DocBook.org" href="http://nhforge.org/controlpanel/blogs/posteditor.aspx/DocBook.org"&gt;DocBook&lt;/a&gt;, if you know about XSL:FO or how to configure HTML output, your help will be much appreciated.&lt;/li&gt;
&lt;li&gt;develop examples and diagrams. But before we start writing such things, we need to know what has to be demonstrated with it.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://nhforge.org/aggbug.aspx?PostID=344" width="1" height="1"&gt;</description><category domain="http://nhforge.org/blogs/nhibernate/archive/tags/NHibernate+Documentation/default.aspx">NHibernate Documentation</category></item></channel></rss>