<?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/"><channel><title>from NH1.2.1GA to NH2.0.0</title><link>http://nhforge.org/wikis/reference2-0en/from-nh1-2-1ga-to-nh2-0-0.aspx</link><description>Read reference documentation for a number of NHibernate 2.0 APIs. </description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>from NH1.2.1GA to NH2.0.0</title><link>http://nhforge.org/wikis/reference2-0en/from-nh1-2-1ga-to-nh2-0-0.aspx</link><pubDate>Mon, 11 May 2009 15:09:53 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:60</guid><dc:creator>Fabio Maulo</dc:creator><comments>http://nhforge.org/wikis/reference2-0en/from-nh1-2-1ga-to-nh2-0-0/comments.aspx</comments><description>Current revision posted to NHibernate 2.0  by Fabio Maulo on 11/05/2009 12:09:53 p.m.&lt;br /&gt;
&lt;p&gt;
&lt;h3&gt;Infrastructure&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* .NET 1.1 is no longer supported&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* Nullables.NHibernate is no longer supported (use nullable types of .NET 2.0)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* Contrib projects moved to http://sourceforge.net/projects/nhcontrib&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Compile time&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* NHibernate.Expression namespace was renamed to NHibernate.Criterion&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IInterceptor have additional methods. (IsUnsaved was renamed IsTransient)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* INamingStrategy&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IType&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IEntityPersister&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IVersionType&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IBatcher&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IUserCollectionType&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IEnhancedUserType&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* IPropertyAccessor&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* ValueTypeType renamed to PrimitiveType&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Possible Breaking Changes for external frameworks&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* Various classes were moved between namespaces&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* Various classes have been renamed (to match Hibernate 3.2 names)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* ISession interface have additional methods&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* ICacheProvider&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* ICriterion&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* CriteriaQueryTranslator&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Initialization time&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* &amp;lt;nhibernate&amp;gt; section, in App.config, is no longer supported and will be ignored. Configuration schema for configuration file and App.config is now identical, and the App.config section name is: &amp;lt;hibernate-configuration&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* &amp;lt;hibernate-configuration&amp;gt; have a different schema and all properties names are cheked&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* configuration properties are no longer prefixed by &amp;quot;hibernate.&amp;quot;, if before you would specify &amp;quot;hibernate.dialect&amp;quot;, now you specify just &amp;quot;dialect&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* All named queries will be validated at initialization time, an exception will be thrown if any is not valid (can be disabled if needed)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* Stricter checks for proxying classes (all public methods must be virtual)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Run time&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* SaveOrUpdateCopy() returns a new instance of the entity without changing the original&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* AutoFlush will not occur outside a transaction - Database transactions are never optional, all communication with the database must occur inside a transaction, whatever you read or write data.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* NHibernate will return long for count(*) queries on SQL Server&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* &amp;lt;formula&amp;gt; must contain parenthesis when needed&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* The HQL functions names may cause conflic in your HQL (reserved names are: substring,locate,trim,length,bit_length,coalesce,nullif,abs,mod,sqrt,upper,lower,cast,extract,concat,current_timestamp,sysdate,second,minute,hour,day,month,year,str)&lt;/p&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* &amp;lt;any&amp;gt; when meta-type=&amp;quot;class&amp;quot; the persistent type is a string containing the Class.FullName (In order to set a parameter in a query you must use SetParameter(&amp;quot;paraName&amp;quot;, typeof(YourClass).FullName, NHibernateUtil.ClassMetaType) )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Mapping&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;		&lt;/span&gt;* &amp;lt;any&amp;gt; : default meta-type is &amp;quot;string&amp;quot; (was &amp;quot;class&amp;quot;)&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/p&gt;</description></item></channel></rss>
