You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <fab...@us...> - 2009-07-14 18:37:12
|
Revision: 4626 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4626&view=rev Author: fabiomaulo Date: 2009-07-14 18:37:08 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4625 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/performance.xml Modified: trunk/nhibernate/doc/reference/modules/performance.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/performance.xml 2009-07-14 18:35:45 UTC (rev 4625) +++ trunk/nhibernate/doc/reference/modules/performance.xml 2009-07-14 18:37:08 UTC (rev 4626) @@ -43,6 +43,14 @@ </listitem> <listitem> <para> + <emphasis>"Extra-lazy" collection fetching</emphasis> - individual + elements of the collection are accessed from the database as needed. + Hibernate tries not to fetch the whole collection into memory unless + absolutely needed (suitable for very large collections) + </para> + </listitem> + <listitem> + <para> <emphasis>Batch fetching</emphasis> - an optimization strategy for select fetching - NHibernate retrieves a batch of entity instances or collections in a single <literal>SELECT</literal>, by specifying This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 18:35:46
|
Revision: 4625 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4625&view=rev Author: fabiomaulo Date: 2009-07-14 18:35:45 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Extra lazy fetching Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/performance.xml Modified: branches/2.1.x/nhibernate/doc/reference/modules/performance.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/performance.xml 2009-07-14 18:29:22 UTC (rev 4624) +++ branches/2.1.x/nhibernate/doc/reference/modules/performance.xml 2009-07-14 18:35:45 UTC (rev 4625) @@ -43,6 +43,14 @@ </listitem> <listitem> <para> + <emphasis>"Extra-lazy" collection fetching</emphasis> - individual + elements of the collection are accessed from the database as needed. + Hibernate tries not to fetch the whole collection into memory unless + absolutely needed (suitable for very large collections) + </para> + </listitem> + <listitem> + <para> <emphasis>Batch fetching</emphasis> - an optimization strategy for select fetching - NHibernate retrieves a batch of entity instances or collections in a single <literal>SELECT</literal>, by specifying This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 18:29:29
|
Revision: 4624 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4624&view=rev Author: fabiomaulo Date: 2009-07-14 18:29:22 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4623 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/persistent_classes.xml Modified: trunk/nhibernate/doc/reference/modules/persistent_classes.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/persistent_classes.xml 2009-07-14 18:28:18 UTC (rev 4623) +++ trunk/nhibernate/doc/reference/modules/persistent_classes.xml 2009-07-14 18:29:22 UTC (rev 4624) @@ -283,7 +283,208 @@ </para> </sect1> + + <sect1 id="persistent-classes-dynamicmodels"> + <title>Dynamic models</title> + + <para> + <emphasis>Note that the following features are currently considered + experimental and may change in the near future.</emphasis> + </para> + + <para> + Persistent entities don't necessarily have to be represented as POCO classes + at runtime. NHibernate also supports dynamic models + (using <literal>Dictionaries</literal> of <literal>Dictionary</literal>s at runtime) . With this approach, you don't + write persistent classes, only mapping files. + </para> + + <para> + By default, NHibernate works in normal POCO mode. You may set a default entity + representation mode for a particular <literal>ISessionFactory</literal> using the + <literal>default_entity_mode</literal> configuration option (see + <xref linkend="configuration-optional-properties"/>. + </para> + + <para> + The following examples demonstrates the representation using <literal>Map</literal>s (Dictionary). + First, in the mapping file, an <literal>entity-name</literal> has to be declared + instead of (or in addition to) a class name: + </para> + + <programlisting><![CDATA[<hibernate-mapping> + <class entity-name="Customer"> + + <id name="id" + type="long" + column="ID"> + <generator class="sequence"/> + </id> + + <property name="name" + column="NAME" + type="string"/> + + <property name="address" + column="ADDRESS" + type="string"/> + + <many-to-one name="organization" + column="ORGANIZATION_ID" + class="Organization"/> + + <bag name="orders" + inverse="true" + lazy="false" + cascade="all"> + <key column="CUSTOMER_ID"/> + <one-to-many class="Order"/> + </bag> + + </class> + +</hibernate-mapping>]]></programlisting> + + <para> + + Note that even though associations are declared using target class names, + the target type of an associations may also be a dynamic entity instead + of a POCO. + </para> + + <para> + After setting the default entity mode to <literal>dynamic-map</literal> + for the <literal>ISessionFactory</literal>, we can at runtime work with + <literal>Dictionaries</literal> of <literal>Dictionaries</literal>: + </para> + + <programlisting><![CDATA[Session s = OpenSession(); +Transaction tx = s.BeginTransaction(); +ISession s = OpenSession(); + +// Create a customer +var frank = new Dictionary<string, object>(); +frank["name"] = "Frank"; + +// Create an organization +var foobar = new Dictionary<string, object>(); +foobar["name"] = "Foobar Inc."; + +// Link both +frank["organization"] = foobar; + +// Save both +s.Save("Customer", frank); +s.Save("Organization", foobar); + +tx.Commit(); +s.Close();]]></programlisting> + + <para> + The advantages of a dynamic mapping are quick turnaround time for prototyping + without the need for entity class implementation. However, you lose compile-time + type checking and will very likely deal with many exceptions at runtime. Thanks + to the NHibernate mapping, the database schema can easily be normalized and sound, + allowing to add a proper domain model implementation on top later on. + </para> + + <para> + Entity representation modes can also be set on a per <literal>ISession</literal> + basis: + </para> + + <programlisting><![CDATA[Session dynamicSession = pocoSession.GetSession(EntityMode.Map); + +// Create a customer +var frank = new Dictionary<string, object>(); +frank["name"] = "Frank"; +dynamicSession.Save("Customer", frank); +... +dynamicSession.Flush(); +dynamicSession.Close() +... +// Continue on pocoSession +]]></programlisting> + + + <para> + Please note that the call to <literal>GetSession()</literal> using an + <literal>EntityMode</literal> is on the <literal>ISession</literal> API, not the + <literal>ISessionFactory</literal>. That way, the new <literal>ISession</literal> + shares the underlying ADO connection, transaction, and other context + information. This means you don't have tocall <literal>Flush()</literal> + and <literal>Close()</literal> on the secondary <literal>ISession</literal>, and + also leave the transaction and connection handling to the primary unit of work. + </para> + </sect1> + + <sect1 id="persistent-classes-tuplizers" revision="1"> + <title>Tuplizers</title> + + <para> + <literal>NHibernate.Tuple.Tuplizer</literal>, and its sub-interfaces, are responsible + for managing a particular representation of a piece of data, given that representation's + <literal>NHibernate.EntityMode</literal>. If a given piece of data is thought of as + a data structure, then a tuplizer is the thing which knows how to create such a data structure + and how to extract values from and inject values into such a data structure. For example, + for the POCO entity mode, the correpsonding tuplizer knows how create the POCO through its + constructor and how to access the POCO properties using the defined property accessors. + There are two high-level types of Tuplizers, represented by the + <literal>NHibernate.Tuple.Entity.IEntityTuplizer</literal> and <literal>NHibernate.Tuple.Component.IComponentTuplizer</literal> + interfaces. <literal>IEntityTuplizer</literal>s are responsible for managing the above mentioned + contracts in regards to entities, while <literal>IComponentTuplizer</literal>s do the same for + components. + </para> + + <para> + Users may also plug in their own tuplizers. Perhaps you require that a <literal>System.Collections.IDictionary</literal> + implementation other than <literal>System.Collections.Hashtable</literal> be used while in the + dynamic-map entity-mode; or perhaps you need to define a different proxy generation strategy + than the one used by default. Both would be achieved by defining a custom tuplizer + implementation. Tuplizers definitions are attached to the entity or component mapping they + are meant to manage. Going back to the example of our customer entity: + </para> + + <programlisting><![CDATA[<hibernate-mapping> + <class entity-name="Customer"> + <!-- + Override the dynamic-map entity-mode + tuplizer for the customer entity + --> + <tuplizer entity-mode="dynamic-map" + class="CustomMapTuplizerImpl"/> + + <id name="id" type="long" column="ID"> + <generator class="sequence"/> + </id> + + <!-- other properties --> + ... + </class> +</hibernate-mapping> + + +public class CustomMapTuplizerImpl: + NHibernate.Tuple.Entity.DynamicMapEntityTuplizer { + // override the BuildInstantiator() method to plug in our custom map... + protected override IInstantiator BuildInstantiator( + NHibernate.Mapping.PersistentClass mappingInfo) { + return new CustomMapInstantiator( mappingInfo ); + } + + private static final class CustomMapInstantiator: + NHibernate.Tuple.DynamicMapInstantiator { + // override the generateMap() method to return our custom map... + protected override IDictionary GenerateMap() { + return new CustomMap(); + } + } +}]]></programlisting> + + + </sect1> + <sect1 id="persistent-classes-lifecycle"> <title>Lifecycle Callbacks</title> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 18:28:28
|
Revision: 4623 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4623&view=rev Author: fabiomaulo Date: 2009-07-14 18:28:18 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Dynamic mode and tuplizers Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/persistent_classes.xml Modified: branches/2.1.x/nhibernate/doc/reference/modules/persistent_classes.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/persistent_classes.xml 2009-07-14 18:26:06 UTC (rev 4622) +++ branches/2.1.x/nhibernate/doc/reference/modules/persistent_classes.xml 2009-07-14 18:28:18 UTC (rev 4623) @@ -283,7 +283,208 @@ </para> </sect1> + + <sect1 id="persistent-classes-dynamicmodels"> + <title>Dynamic models</title> + + <para> + <emphasis>Note that the following features are currently considered + experimental and may change in the near future.</emphasis> + </para> + + <para> + Persistent entities don't necessarily have to be represented as POCO classes + at runtime. NHibernate also supports dynamic models + (using <literal>Dictionaries</literal> of <literal>Dictionary</literal>s at runtime) . With this approach, you don't + write persistent classes, only mapping files. + </para> + + <para> + By default, NHibernate works in normal POCO mode. You may set a default entity + representation mode for a particular <literal>ISessionFactory</literal> using the + <literal>default_entity_mode</literal> configuration option (see + <xref linkend="configuration-optional-properties"/>. + </para> + + <para> + The following examples demonstrates the representation using <literal>Map</literal>s (Dictionary). + First, in the mapping file, an <literal>entity-name</literal> has to be declared + instead of (or in addition to) a class name: + </para> + + <programlisting><![CDATA[<hibernate-mapping> + <class entity-name="Customer"> + + <id name="id" + type="long" + column="ID"> + <generator class="sequence"/> + </id> + + <property name="name" + column="NAME" + type="string"/> + + <property name="address" + column="ADDRESS" + type="string"/> + + <many-to-one name="organization" + column="ORGANIZATION_ID" + class="Organization"/> + + <bag name="orders" + inverse="true" + lazy="false" + cascade="all"> + <key column="CUSTOMER_ID"/> + <one-to-many class="Order"/> + </bag> + + </class> + +</hibernate-mapping>]]></programlisting> + + <para> + + Note that even though associations are declared using target class names, + the target type of an associations may also be a dynamic entity instead + of a POCO. + </para> + + <para> + After setting the default entity mode to <literal>dynamic-map</literal> + for the <literal>ISessionFactory</literal>, we can at runtime work with + <literal>Dictionaries</literal> of <literal>Dictionaries</literal>: + </para> + + <programlisting><![CDATA[Session s = OpenSession(); +Transaction tx = s.BeginTransaction(); +ISession s = OpenSession(); + +// Create a customer +var frank = new Dictionary<string, object>(); +frank["name"] = "Frank"; + +// Create an organization +var foobar = new Dictionary<string, object>(); +foobar["name"] = "Foobar Inc."; + +// Link both +frank["organization"] = foobar; + +// Save both +s.Save("Customer", frank); +s.Save("Organization", foobar); + +tx.Commit(); +s.Close();]]></programlisting> + + <para> + The advantages of a dynamic mapping are quick turnaround time for prototyping + without the need for entity class implementation. However, you lose compile-time + type checking and will very likely deal with many exceptions at runtime. Thanks + to the NHibernate mapping, the database schema can easily be normalized and sound, + allowing to add a proper domain model implementation on top later on. + </para> + + <para> + Entity representation modes can also be set on a per <literal>ISession</literal> + basis: + </para> + + <programlisting><![CDATA[Session dynamicSession = pocoSession.GetSession(EntityMode.Map); + +// Create a customer +var frank = new Dictionary<string, object>(); +frank["name"] = "Frank"; +dynamicSession.Save("Customer", frank); +... +dynamicSession.Flush(); +dynamicSession.Close() +... +// Continue on pocoSession +]]></programlisting> + + + <para> + Please note that the call to <literal>GetSession()</literal> using an + <literal>EntityMode</literal> is on the <literal>ISession</literal> API, not the + <literal>ISessionFactory</literal>. That way, the new <literal>ISession</literal> + shares the underlying ADO connection, transaction, and other context + information. This means you don't have tocall <literal>Flush()</literal> + and <literal>Close()</literal> on the secondary <literal>ISession</literal>, and + also leave the transaction and connection handling to the primary unit of work. + </para> + </sect1> + + <sect1 id="persistent-classes-tuplizers" revision="1"> + <title>Tuplizers</title> + + <para> + <literal>NHibernate.Tuple.Tuplizer</literal>, and its sub-interfaces, are responsible + for managing a particular representation of a piece of data, given that representation's + <literal>NHibernate.EntityMode</literal>. If a given piece of data is thought of as + a data structure, then a tuplizer is the thing which knows how to create such a data structure + and how to extract values from and inject values into such a data structure. For example, + for the POCO entity mode, the correpsonding tuplizer knows how create the POCO through its + constructor and how to access the POCO properties using the defined property accessors. + There are two high-level types of Tuplizers, represented by the + <literal>NHibernate.Tuple.Entity.IEntityTuplizer</literal> and <literal>NHibernate.Tuple.Component.IComponentTuplizer</literal> + interfaces. <literal>IEntityTuplizer</literal>s are responsible for managing the above mentioned + contracts in regards to entities, while <literal>IComponentTuplizer</literal>s do the same for + components. + </para> + + <para> + Users may also plug in their own tuplizers. Perhaps you require that a <literal>System.Collections.IDictionary</literal> + implementation other than <literal>System.Collections.Hashtable</literal> be used while in the + dynamic-map entity-mode; or perhaps you need to define a different proxy generation strategy + than the one used by default. Both would be achieved by defining a custom tuplizer + implementation. Tuplizers definitions are attached to the entity or component mapping they + are meant to manage. Going back to the example of our customer entity: + </para> + + <programlisting><![CDATA[<hibernate-mapping> + <class entity-name="Customer"> + <!-- + Override the dynamic-map entity-mode + tuplizer for the customer entity + --> + <tuplizer entity-mode="dynamic-map" + class="CustomMapTuplizerImpl"/> + + <id name="id" type="long" column="ID"> + <generator class="sequence"/> + </id> + + <!-- other properties --> + ... + </class> +</hibernate-mapping> + + +public class CustomMapTuplizerImpl: + NHibernate.Tuple.Entity.DynamicMapEntityTuplizer { + // override the BuildInstantiator() method to plug in our custom map... + protected override IInstantiator BuildInstantiator( + NHibernate.Mapping.PersistentClass mappingInfo) { + return new CustomMapInstantiator( mappingInfo ); + } + + private static final class CustomMapInstantiator: + NHibernate.Tuple.DynamicMapInstantiator { + // override the generateMap() method to return our custom map... + protected override IDictionary GenerateMap() { + return new CustomMap(); + } + } +}]]></programlisting> + + + </sect1> + <sect1 id="persistent-classes-lifecycle"> <title>Lifecycle Callbacks</title> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 18:26:12
|
Revision: 4622 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4622&view=rev Author: fabiomaulo Date: 2009-07-14 18:26:06 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4621 (relax DynamicMapInstantiator) Modified Paths: -------------- branches/2.1.x/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs Modified: branches/2.1.x/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs 2009-07-14 18:20:40 UTC (rev 4621) +++ branches/2.1.x/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs 2009-07-14 18:26:06 UTC (rev 4622) @@ -46,7 +46,7 @@ return map; } - protected internal virtual IDictionary GenerateMap() + protected virtual IDictionary GenerateMap() { return new Hashtable(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 18:20:46
|
Revision: 4621 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4621&view=rev Author: fabiomaulo Date: 2009-07-14 18:20:40 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Relax of DynamicMapInstantiator Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs Modified: trunk/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs 2009-07-14 17:38:34 UTC (rev 4620) +++ trunk/nhibernate/src/NHibernate/Tuple/DynamicMapInstantiator.cs 2009-07-14 18:20:40 UTC (rev 4621) @@ -46,7 +46,7 @@ return map; } - protected internal virtual IDictionary GenerateMap() + protected virtual IDictionary GenerateMap() { return new Hashtable(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 17:38:36
|
Revision: 4620 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4620&view=rev Author: fabiomaulo Date: 2009-07-14 17:38:34 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4619 Modified Paths: -------------- trunk/nhibernate/doc/reference/master.xml Removed Paths: ------------- trunk/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml trunk/nhibernate/doc/reference/modules/nullables.xml Modified: trunk/nhibernate/doc/reference/master.xml =================================================================== --- trunk/nhibernate/doc/reference/master.xml 2009-07-14 17:37:07 UTC (rev 4619) +++ trunk/nhibernate/doc/reference/master.xml 2009-07-14 17:38:34 UTC (rev 4620) @@ -82,8 +82,6 @@ &nhc-preface; &nhcaches-chapter; &nhma-chapter; - &nhbm2net-chapter; - &nullables-chapter; </part> </book> Deleted: trunk/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml 2009-07-14 17:37:07 UTC (rev 4619) +++ trunk/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml 2009-07-14 17:38:34 UTC (rev 4620) @@ -1,45 +0,0 @@ -<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> --> -<chapter id="tool-hbm2net"> - <title>NHibernate.Tool.hbm2net</title> - - - <abstract id="NHibernate.Tool.hbm2net-abstract"> - <title>What is NHibernate.Tool.hbm2net?</title> - <formalpara> - <title>NHibernate.Tool.hbm2net is an add-in for <ulink url="http://www.nhibernate.org">NHibernate</ulink></title> - <para>It makes it possible to generate source files from hbm.xml mapping files.</para> - </formalpara> - <para>In the directory <filename>NHibernate.Tasks</filename>, there is a tool called <command>Hbm2NetTask</command> that you can use to automate your build process (using NAnt)</para> - </abstract> - -<!-- - - <section id="NHibernate.Tool.hbm2net-howto"> - <title>How to use it?</title> - <para>!</para> - </section> - - - <section id="NHibernate.Tool.hbm2net-tips"> - <title>Tips</title> - <itemizedlist> - <listitem><para>!</para></listitem> - </itemizedlist> - </section> - - - <section id="NHibernate.Tool.hbm2net-todo"> - <title>Know issues and TODOs</title> - <para>Read TODOs in the source code ;)</para> - <para>!</para> - </section> - - - <section id="NHibernate.Tool.hbm2net-devnotes"> - <title>Developer Notes</title> - <para>!</para> - </section> - ---> - -</chapter> Deleted: trunk/nhibernate/doc/reference/modules/nullables.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/nullables.xml 2009-07-14 17:37:07 UTC (rev 4619) +++ trunk/nhibernate/doc/reference/modules/nullables.xml 2009-07-14 17:38:34 UTC (rev 4620) @@ -1,110 +0,0 @@ -<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> --> -<chapter id="nullables"> - <title>Nullables</title> - - - <abstract id="Nullables-abstract"> - <title>What is Nullables?</title> - <formalpara> - <title>Nullables is an add-in for <ulink url="http://www.nhibernate.org">NHibernate</ulink> contributed by Donald L Mull Jr. (aka <emphasis>luggage</emphasis>)</title> - <para>Most database systems allow base types (like <classname>int</classname> or <classname>bool</classname>) to be null. This means that a boolean column can take the values <emphasis>0</emphasis>, <emphasis>1</emphasis> or <emphasis>null</emphasis>, where <emphasis>null</emphasis> doesn't have the same meaning as <emphasis>0</emphasis>. But it is not possible with .NET 1.x; a bool is always either true or false.</para> - </formalpara> - <para>Nullables makes it possible to use nullable base types in NHibernate. Note that .NET 2.0 has this feature.</para> - </abstract> - - - <section id="Nullables-howto"> - <title>How to use it?</title> - <para>Here is a simple example that uses a <classname>Nullables.NullableDateTime</classname> to (optionally) store the date of birth for a <classname>Person</classname>.</para> - <programlisting> -public <emphasis role="strong">class Person</emphasis> -{ - int _id; - string _name; - <emphasis role="strong">Nullables.NullableDateTime</emphasis> _dateOfBirth; - - public Person() - { - } - - public int Id - { - get { return this._id; } - } - - public string Name - { - get { return this._name; } - set { this._name = value; } - } - - public <emphasis role="strong">Nullables.NullableDateTime</emphasis> DateOfBirth - { - get { return this._dateOfBirth; } - set { this._dateOfBirth = value; } - } -}</programlisting> - <para>As you can see, <emphasis>DateOfBirth</emphasis> has the type <classname>Nullables.NullableDateTime</classname> (instead of <classname>System.DateTime</classname>).</para> - - <para>Here is the mapping</para> - <programlisting><![CDATA[ -<?xml version="1.0" encoding="utf-8" ?> -<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> - <class name="Example.Person, Example" table="Person"> - <id name="Id" access="field.camelcase-underscore" unsaved-value="0"> - <generator class="native" /> - </id> - <property name="Name" type="String" length="200" /> - <]]>property name="<emphasis>DateOfBirth</emphasis>" type="<emphasis role="strong">Nullables.NHibernate.NullableDateTimeType</emphasis>, Nullables.NHibernate"<![CDATA[ /> - </class> -</hibernate-mapping>]]></programlisting> - <important> - <para>In the mapping, the type of <emphasis>DateOfBirth</emphasis> - <emphasis role="strong">must</emphasis> be <classname>Nullables.NHibernate.NullableDateTimeType</classname>. Note that <link linkend="mapping-attributes">NHibernate.Mapping.Attributes</link> handles that automatically.</para> - <para><classname>Nullables.NHibernate.NullableXXXType</classname>s are wrapper types used to translate Nullables types to Database types.</para> - </important> - - <para>Here is a piece of code using this example:</para> - <programlisting> -Person per = new Person(); - -textBox1.Text = per.DateOfBirth.Value.ToString() // will throw an exception when there is no value. - -textBox1.Text = per.DateOfBirth.ToString() // will work. it will return an empty string if there is no value. - -textBox1.Text = (per.DateOfBirth.HasValue ? per.DateOfBirth.Value.ToShortDateString() : "Unknown") // friendly message - -per.DateOfBirth = new System.DateTime(1979, 11, 8); // implicit cast from the "plain" System.DateTime. -per.DateOfBirth = new NullableDateTime(new System.DateTime(1979, 11, 8)); // the long way. - -per.DateOfBirth = null; // this works. -per.DateOfBirth = NullableDateTime.Default; // this is more correct.</programlisting> - </section> - - - <!-- - - <section id="Nullables-tips"> - <title>Tips</title> - <itemizedlist> - <listitem><para>!</para></listitem> - </itemizedlist> - </section> - - - <section id="Nullables-todo"> - <title>Know issues and TODOs</title> - <para>Read TODOs in the source code ;)</para> - <para>!</para> - </section> - - - <section id="Nullables-devnotes"> - <title>Developer Notes</title> - <para>!</para> - </section> - ---> - - -</chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 17:37:08
|
Revision: 4619 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4619&view=rev Author: fabiomaulo Date: 2009-07-14 17:37:07 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Removed obsolete sections Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/master.xml Removed Paths: ------------- branches/2.1.x/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml branches/2.1.x/nhibernate/doc/reference/modules/nullables.xml Modified: branches/2.1.x/nhibernate/doc/reference/master.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-14 17:32:28 UTC (rev 4618) +++ branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-14 17:37:07 UTC (rev 4619) @@ -82,8 +82,6 @@ &nhc-preface; &nhcaches-chapter; &nhma-chapter; - &nhbm2net-chapter; - &nullables-chapter; </part> </book> Deleted: branches/2.1.x/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml 2009-07-14 17:32:28 UTC (rev 4618) +++ branches/2.1.x/nhibernate/doc/reference/modules/nhibernate_tool_hbm2net.xml 2009-07-14 17:37:07 UTC (rev 4619) @@ -1,45 +0,0 @@ -<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> --> -<chapter id="tool-hbm2net"> - <title>NHibernate.Tool.hbm2net</title> - - - <abstract id="NHibernate.Tool.hbm2net-abstract"> - <title>What is NHibernate.Tool.hbm2net?</title> - <formalpara> - <title>NHibernate.Tool.hbm2net is an add-in for <ulink url="http://www.nhibernate.org">NHibernate</ulink></title> - <para>It makes it possible to generate source files from hbm.xml mapping files.</para> - </formalpara> - <para>In the directory <filename>NHibernate.Tasks</filename>, there is a tool called <command>Hbm2NetTask</command> that you can use to automate your build process (using NAnt)</para> - </abstract> - -<!-- - - <section id="NHibernate.Tool.hbm2net-howto"> - <title>How to use it?</title> - <para>!</para> - </section> - - - <section id="NHibernate.Tool.hbm2net-tips"> - <title>Tips</title> - <itemizedlist> - <listitem><para>!</para></listitem> - </itemizedlist> - </section> - - - <section id="NHibernate.Tool.hbm2net-todo"> - <title>Know issues and TODOs</title> - <para>Read TODOs in the source code ;)</para> - <para>!</para> - </section> - - - <section id="NHibernate.Tool.hbm2net-devnotes"> - <title>Developer Notes</title> - <para>!</para> - </section> - ---> - -</chapter> Deleted: branches/2.1.x/nhibernate/doc/reference/modules/nullables.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/nullables.xml 2009-07-14 17:32:28 UTC (rev 4618) +++ branches/2.1.x/nhibernate/doc/reference/modules/nullables.xml 2009-07-14 17:37:07 UTC (rev 4619) @@ -1,110 +0,0 @@ -<!-- <!DOCTYPE chapter SYSTEM "../docbook-xml/docbookx.dtd"> --> -<chapter id="nullables"> - <title>Nullables</title> - - - <abstract id="Nullables-abstract"> - <title>What is Nullables?</title> - <formalpara> - <title>Nullables is an add-in for <ulink url="http://www.nhibernate.org">NHibernate</ulink> contributed by Donald L Mull Jr. (aka <emphasis>luggage</emphasis>)</title> - <para>Most database systems allow base types (like <classname>int</classname> or <classname>bool</classname>) to be null. This means that a boolean column can take the values <emphasis>0</emphasis>, <emphasis>1</emphasis> or <emphasis>null</emphasis>, where <emphasis>null</emphasis> doesn't have the same meaning as <emphasis>0</emphasis>. But it is not possible with .NET 1.x; a bool is always either true or false.</para> - </formalpara> - <para>Nullables makes it possible to use nullable base types in NHibernate. Note that .NET 2.0 has this feature.</para> - </abstract> - - - <section id="Nullables-howto"> - <title>How to use it?</title> - <para>Here is a simple example that uses a <classname>Nullables.NullableDateTime</classname> to (optionally) store the date of birth for a <classname>Person</classname>.</para> - <programlisting> -public <emphasis role="strong">class Person</emphasis> -{ - int _id; - string _name; - <emphasis role="strong">Nullables.NullableDateTime</emphasis> _dateOfBirth; - - public Person() - { - } - - public int Id - { - get { return this._id; } - } - - public string Name - { - get { return this._name; } - set { this._name = value; } - } - - public <emphasis role="strong">Nullables.NullableDateTime</emphasis> DateOfBirth - { - get { return this._dateOfBirth; } - set { this._dateOfBirth = value; } - } -}</programlisting> - <para>As you can see, <emphasis>DateOfBirth</emphasis> has the type <classname>Nullables.NullableDateTime</classname> (instead of <classname>System.DateTime</classname>).</para> - - <para>Here is the mapping</para> - <programlisting><![CDATA[ -<?xml version="1.0" encoding="utf-8" ?> -<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> - <class name="Example.Person, Example" table="Person"> - <id name="Id" access="field.camelcase-underscore" unsaved-value="0"> - <generator class="native" /> - </id> - <property name="Name" type="String" length="200" /> - <]]>property name="<emphasis>DateOfBirth</emphasis>" type="<emphasis role="strong">Nullables.NHibernate.NullableDateTimeType</emphasis>, Nullables.NHibernate"<![CDATA[ /> - </class> -</hibernate-mapping>]]></programlisting> - <important> - <para>In the mapping, the type of <emphasis>DateOfBirth</emphasis> - <emphasis role="strong">must</emphasis> be <classname>Nullables.NHibernate.NullableDateTimeType</classname>. Note that <link linkend="mapping-attributes">NHibernate.Mapping.Attributes</link> handles that automatically.</para> - <para><classname>Nullables.NHibernate.NullableXXXType</classname>s are wrapper types used to translate Nullables types to Database types.</para> - </important> - - <para>Here is a piece of code using this example:</para> - <programlisting> -Person per = new Person(); - -textBox1.Text = per.DateOfBirth.Value.ToString() // will throw an exception when there is no value. - -textBox1.Text = per.DateOfBirth.ToString() // will work. it will return an empty string if there is no value. - -textBox1.Text = (per.DateOfBirth.HasValue ? per.DateOfBirth.Value.ToShortDateString() : "Unknown") // friendly message - -per.DateOfBirth = new System.DateTime(1979, 11, 8); // implicit cast from the "plain" System.DateTime. -per.DateOfBirth = new NullableDateTime(new System.DateTime(1979, 11, 8)); // the long way. - -per.DateOfBirth = null; // this works. -per.DateOfBirth = NullableDateTime.Default; // this is more correct.</programlisting> - </section> - - - <!-- - - <section id="Nullables-tips"> - <title>Tips</title> - <itemizedlist> - <listitem><para>!</para></listitem> - </itemizedlist> - </section> - - - <section id="Nullables-todo"> - <title>Know issues and TODOs</title> - <para>Read TODOs in the source code ;)</para> - <para>!</para> - </section> - - - <section id="Nullables-devnotes"> - <title>Developer Notes</title> - <para>!</para> - </section> - ---> - - -</chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 17:32:30
|
Revision: 4618 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4618&view=rev Author: fabiomaulo Date: 2009-07-14 17:32:28 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4617 Modified Paths: -------------- trunk/nhibernate/doc/reference/master.xml Added Paths: ----------- trunk/nhibernate/doc/reference/modules/batch.xml Modified: trunk/nhibernate/doc/reference/master.xml =================================================================== --- trunk/nhibernate/doc/reference/master.xml 2009-07-14 17:30:54 UTC (rev 4617) +++ trunk/nhibernate/doc/reference/master.xml 2009-07-14 17:32:28 UTC (rev 4618) @@ -13,6 +13,7 @@ <!ENTITY manipulating-data SYSTEM "modules/manipulating_data.xml"> <!ENTITY transactions SYSTEM "modules/transactions.xml"> <!ENTITY events SYSTEM "modules/events.xml"> +<!ENTITY batch SYSTEM "modules/batch.xml"> <!ENTITY query-hql SYSTEM "modules/query_hql.xml"> <!ENTITY query-criteria SYSTEM "modules/query_criteria.xml"> <!ENTITY query-sql SYSTEM "modules/query_sql.xml"> @@ -59,7 +60,7 @@ &manipulating-data; &transactions; &events; - + &batch; &query-hql; &query-criteria; &query-sql; Added: trunk/nhibernate/doc/reference/modules/batch.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/batch.xml (rev 0) +++ trunk/nhibernate/doc/reference/modules/batch.xml 2009-07-14 17:32:28 UTC (rev 4618) @@ -0,0 +1,315 @@ +<chapter id="batch"> + <title>Batch processing</title> + + <para> + A naive approach to inserting 100 000 rows in the database using Hibernate might + look like this: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); +for ( int i=0; i<100000; i++ ) { + Customer customer = new Customer(.....); + session.Save(customer); +} +tx.Commit(); +session.Close();]]></programlisting> + + <para> + This would fall over with an <literal>OutOfMemoryException</literal> somewhere + around the 50 000th row. That's because NHibernate caches all the newly inserted + <literal>Customer</literal> instances in the session-level cache. + </para> + + <para> + In this chapter we'll show you how to avoid this problem. First, however, if you + are doing batch processing, it is absolutely critical that you enable the use of + ADO batching, if you intend to achieve reasonable performance. Set the ADO batch + size to a reasonable number (say, 10-50): + </para> + + <programlisting><![CDATA[adonet.batch_size 20]]></programlisting> + + <para id="disablebatching" revision="1"> + Note that NHibernate disables insert batching at the ADO level transparently if you + use an <literal>identiy</literal> identifier generator. + </para> + + <para> + You also might like to do this kind of work in a process where interaction with + the second-level cache is completely disabled: + </para> + +<programlisting><![CDATA[cache.use_second_level_cache false]]></programlisting> + + <para> + However, this is not absolutely necessary, since we can explicitly set the + <literal>CacheMode</literal> to disable interaction with the second-level cache. + </para> + + <sect1 id="batch-inserts"> + <title>Batch inserts</title> + + <para> + When making new objects persistent, you must <literal>Flush()</literal> and + then <literal>Clear()</literal> the session regularly, to control the size of + the first-level cache. + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.openSession(); +ITransaction tx = session.BeginTransaction(); + +for ( int i=0; i<100000; i++ ) { + Customer customer = new Customer(.....); + session.Save(customer); + if ( i % 20 == 0 ) { //20, same as the ADO batch size + //flush a batch of inserts and release memory: + session.Flush(); + session.Clear(); + } +} + +tx.Commit(); +session.Close();]]></programlisting> + + </sect1> + + <sect1 id="batch-statelesssession"> + <title>The StatelessSession interface</title> + <para> + Alternatively, Hibernate provides a command-oriented API that may be used for + streaming data to and from the database in the form of detached objects. A + <literal>IStatelessSession</literal> has no persistence context associated + with it and does not provide many of the higher-level life cycle semantics. + In particular, a stateless session does not implement a first-level cache nor + interact with any second-level or query cache. It does not implement + transactional write-behind or automatic dirty checking. Operations performed + using a stateless session do not ever cascade to associated instances. Collections + are ignored by a stateless session. Operations performed via a stateless session + bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable + to data aliasing effects, due to the lack of a first-level cache. A stateless + session is a lower-level abstraction, much closer to the underlying ADO. + </para> + +<programlisting><![CDATA[IStatelessSession session = sessionFactory.OpenStatelessSession(); +ITransaction tx = session.BeginTransaction(); + +var customers = session.GetNamedQuery("GetCustomers") + .Enumerable<Customer>(); +while ( customers.MoveNext() ) { + Customer customer = customers.Current; + customer.updateStuff(...); + session.Update(customer); +} + +tx.Commit(); +session.Close();]]></programlisting> + + <para> + Note that in this code example, the <literal>Customer</literal> instances returned + by the query are immediately detached. They are never associated with any persistence + context. + </para> + + <para> + The <literal>insert(), update()</literal> and <literal>delete()</literal> operations + defined by the <literal>StatelessSession</literal> interface are considered to be + direct database row-level operations, which result in immediate execution of a SQL + <literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus, + they have very different semantics to the <literal>Save(), SaveOrUpdate()</literal> + and <literal>Delete()</literal> operations defined by the <literal>ISession</literal> + interface. + </para> + + </sect1> + + <sect1 id="batch-direct" revision="3"> + <title>DML-style operations</title> + + <para> + As already discussed, automatic and transparent object/relational mapping is concerned + with the management of object state. This implies that the object state is available + in memory, hence manipulating (using the SQL <literal>Data Manipulation Language</literal> + (DML) statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>) + data directly in the database will not affect in-memory state. However, Hibernate provides methods + for bulk SQL-style DML statement execution which are performed through the + Hibernate Query Language (<link linkend="queryhql">HQL</link>). + </para> + + <para> + The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</literal> statements + is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Some + points to note: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + In the from-clause, the FROM keyword is optional + </para> + </listitem> + <listitem> + <para> + There can only be a single entity named in the from-clause; it can optionally be + aliased. If the entity name is aliased, then any property references must + be qualified using that alias; if the entity name is not aliased, then it is + illegal for any property references to be qualified. + </para> + </listitem> + <listitem> + <para> + No <link linkend="queryhql-joins-forms">joins</link> (either implicit or explicit) + can be specified in a bulk HQL query. Sub-queries may be used in the where-clause; + the subqueries, themselves, may contain joins. + </para> + </listitem> + <listitem> + <para> + The where-clause is also optional. + </para> + </listitem> + </itemizedlist> + + <para> + As an example, to execute an HQL <literal>UPDATE</literal>, use the + <literal>IQuery.ExecuteUpdate()</literal> method: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +string hqlUpdate = "update Customer c set c.name = :newName where c.name = :oldName"; +// or string hqlUpdate = "update Customer set name = :newName where name = :oldName"; +int updatedEntities = s.CreateQuery( hqlUpdate ) + .SetString( "newName", newName ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + HQL <literal>UPDATE</literal> statements, by default do not effect the + <link linkend="mapping-declaration-version">version</link> + or the <link linkend="mapping-declaration-timestamp">timestamp</link> property values + for the affected entities. However, + you can force NHibernate to properly reset the <literal>version</literal> or + <literal>timestamp</literal> property values through the use of a <literal>versioned update</literal>. + This is achieved by adding the <literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> + keyword. + </para> +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); +string hqlVersionedUpdate = "update versioned Customer set name = :newName where name = :oldName"; +int updatedEntities = s.CreateQuery( hqlUpdate ) + .SetString( "newName", newName ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + Note that custom version types (<literal>NHibernate.Usertype.IUserVersionType</literal>) + are not allowed in conjunction with a <literal>update versioned</literal> statement. + </para> + + <para> + To execute an HQL <literal>DELETE</literal>, use the same <literal>IQuery.ExecuteUpdate()</literal> + method: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +String hqlDelete = "delete Customer c where c.name = :oldName"; +// or String hqlDelete = "delete Customer where name = :oldName"; +int deletedEntities = s.CreateQuery( hqlDelete ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + The <literal>int</literal> value returned by the <literal>IQuery.ExecuteUpdate()</literal> + method indicate the number of entities effected by the operation. Consider this may or may not + correlate to the number of rows effected in the database. An HQL bulk operation might result in + multiple actual SQL statements being executed, for joined-subclass, for example. The returned + number indicates the number of actual entities affected by the statement. Going back to the + example of joined-subclass, a delete against one of the subclasses may actually result + in deletes against not just the table to which that subclass is mapped, but also the "root" + table and potentially joined-subclass tables further down the inheritence hierarchy. + </para> + + <para> + The pseudo-syntax for <literal>INSERT</literal> statements is: + <literal>INSERT INTO EntityName properties_list select_statement</literal>. Some + points to note: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + Only the INSERT INTO ... SELECT ... form is supported; not the INSERT INTO ... VALUES ... form. + </para> + <para> + The properties_list is analogous to the <literal>column speficiation</literal> + in the SQL <literal>INSERT</literal> statement. For entities involved in mapped + inheritence, only properties directly defined on that given class-level can be + used in the properties_list. Superclass properties are not allowed; and subclass + properties do not make sense. In other words, <literal>INSERT</literal> + statements are inherently non-polymorphic. + </para> + </listitem> + <listitem> + <para> + select_statement can be any valid HQL select query, with the caveat that the return types + must match the types expected by the insert. Currently, this is checked during query + compilation rather than allowing the check to relegate to the database. Note however + that this might cause problems between NHibernate <literal>Type</literal>s which are + <emphasis>equivalent</emphasis> as opposed to <emphasis>equal</emphasis>. This might cause + issues with mismatches between a property defined as a <literal>NHibernate.Type.DateType</literal> + and a property defined as a <literal>NHibernate.Type.TimestampType</literal>, even though the + database might not make a distinction or might be able to handle the conversion. + </para> + </listitem> + <listitem> + <para> + For the id property, the insert statement gives you two options. You can either + explicitly specify the id property in the properties_list (in which case its value + is taken from the corresponding select expression) or omit it from the properties_list + (in which case a generated value is used). This later option is only available when + using id generators that operate in the database; attempting to use this option with + any "in memory" type generators will cause an exception during parsing. Note that + for the purposes of this discussion, in-database generators are considered to be + <literal>NHibernate.Id.SequenceGenerator</literal> (and its subclasses) and + any implementors of <literal>NHibernate.Id.IPostInsertIdentifierGenerator</literal>. + The most notable exception here is <literal>NHibernate.Id.TableHiLoGenerator</literal>, + which cannot be used because it does not expose a selectable way to get its values. + </para> + </listitem> + <listitem> + <para> + For properties mapped as either <literal>version</literal> or <literal>timestamp</literal>, + the insert statement gives you two options. You can either specify the property in the + properties_list (in which case its value is taken from the corresponding select expressions) + or omit it from the properties_list (in which case the <literal>seed value</literal> defined + by the <literal>NHibernate.Type.IVersionType</literal> is used). + </para> + </listitem> + </itemizedlist> + + <para> + An example HQL <literal>INSERT</literal> statement execution: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +var hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ..."; +int createdEntities = s.CreateQuery( hqlInsert ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + </sect1> + +</chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 17:31:00
|
Revision: 4617 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4617&view=rev Author: fabiomaulo Date: 2009-07-14 17:30:54 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Added reference for batch Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/master.xml Added Paths: ----------- branches/2.1.x/nhibernate/doc/reference/modules/batch.xml Modified: branches/2.1.x/nhibernate/doc/reference/master.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-14 14:39:48 UTC (rev 4616) +++ branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-14 17:30:54 UTC (rev 4617) @@ -13,6 +13,7 @@ <!ENTITY manipulating-data SYSTEM "modules/manipulating_data.xml"> <!ENTITY transactions SYSTEM "modules/transactions.xml"> <!ENTITY events SYSTEM "modules/events.xml"> +<!ENTITY batch SYSTEM "modules/batch.xml"> <!ENTITY query-hql SYSTEM "modules/query_hql.xml"> <!ENTITY query-criteria SYSTEM "modules/query_criteria.xml"> <!ENTITY query-sql SYSTEM "modules/query_sql.xml"> @@ -59,7 +60,7 @@ &manipulating-data; &transactions; &events; - + &batch; &query-hql; &query-criteria; &query-sql; Added: branches/2.1.x/nhibernate/doc/reference/modules/batch.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/batch.xml (rev 0) +++ branches/2.1.x/nhibernate/doc/reference/modules/batch.xml 2009-07-14 17:30:54 UTC (rev 4617) @@ -0,0 +1,315 @@ +<chapter id="batch"> + <title>Batch processing</title> + + <para> + A naive approach to inserting 100 000 rows in the database using Hibernate might + look like this: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); +for ( int i=0; i<100000; i++ ) { + Customer customer = new Customer(.....); + session.Save(customer); +} +tx.Commit(); +session.Close();]]></programlisting> + + <para> + This would fall over with an <literal>OutOfMemoryException</literal> somewhere + around the 50 000th row. That's because NHibernate caches all the newly inserted + <literal>Customer</literal> instances in the session-level cache. + </para> + + <para> + In this chapter we'll show you how to avoid this problem. First, however, if you + are doing batch processing, it is absolutely critical that you enable the use of + ADO batching, if you intend to achieve reasonable performance. Set the ADO batch + size to a reasonable number (say, 10-50): + </para> + + <programlisting><![CDATA[adonet.batch_size 20]]></programlisting> + + <para id="disablebatching" revision="1"> + Note that NHibernate disables insert batching at the ADO level transparently if you + use an <literal>identiy</literal> identifier generator. + </para> + + <para> + You also might like to do this kind of work in a process where interaction with + the second-level cache is completely disabled: + </para> + +<programlisting><![CDATA[cache.use_second_level_cache false]]></programlisting> + + <para> + However, this is not absolutely necessary, since we can explicitly set the + <literal>CacheMode</literal> to disable interaction with the second-level cache. + </para> + + <sect1 id="batch-inserts"> + <title>Batch inserts</title> + + <para> + When making new objects persistent, you must <literal>Flush()</literal> and + then <literal>Clear()</literal> the session regularly, to control the size of + the first-level cache. + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.openSession(); +ITransaction tx = session.BeginTransaction(); + +for ( int i=0; i<100000; i++ ) { + Customer customer = new Customer(.....); + session.Save(customer); + if ( i % 20 == 0 ) { //20, same as the ADO batch size + //flush a batch of inserts and release memory: + session.Flush(); + session.Clear(); + } +} + +tx.Commit(); +session.Close();]]></programlisting> + + </sect1> + + <sect1 id="batch-statelesssession"> + <title>The StatelessSession interface</title> + <para> + Alternatively, Hibernate provides a command-oriented API that may be used for + streaming data to and from the database in the form of detached objects. A + <literal>IStatelessSession</literal> has no persistence context associated + with it and does not provide many of the higher-level life cycle semantics. + In particular, a stateless session does not implement a first-level cache nor + interact with any second-level or query cache. It does not implement + transactional write-behind or automatic dirty checking. Operations performed + using a stateless session do not ever cascade to associated instances. Collections + are ignored by a stateless session. Operations performed via a stateless session + bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable + to data aliasing effects, due to the lack of a first-level cache. A stateless + session is a lower-level abstraction, much closer to the underlying ADO. + </para> + +<programlisting><![CDATA[IStatelessSession session = sessionFactory.OpenStatelessSession(); +ITransaction tx = session.BeginTransaction(); + +var customers = session.GetNamedQuery("GetCustomers") + .Enumerable<Customer>(); +while ( customers.MoveNext() ) { + Customer customer = customers.Current; + customer.updateStuff(...); + session.Update(customer); +} + +tx.Commit(); +session.Close();]]></programlisting> + + <para> + Note that in this code example, the <literal>Customer</literal> instances returned + by the query are immediately detached. They are never associated with any persistence + context. + </para> + + <para> + The <literal>insert(), update()</literal> and <literal>delete()</literal> operations + defined by the <literal>StatelessSession</literal> interface are considered to be + direct database row-level operations, which result in immediate execution of a SQL + <literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus, + they have very different semantics to the <literal>Save(), SaveOrUpdate()</literal> + and <literal>Delete()</literal> operations defined by the <literal>ISession</literal> + interface. + </para> + + </sect1> + + <sect1 id="batch-direct" revision="3"> + <title>DML-style operations</title> + + <para> + As already discussed, automatic and transparent object/relational mapping is concerned + with the management of object state. This implies that the object state is available + in memory, hence manipulating (using the SQL <literal>Data Manipulation Language</literal> + (DML) statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>) + data directly in the database will not affect in-memory state. However, Hibernate provides methods + for bulk SQL-style DML statement execution which are performed through the + Hibernate Query Language (<link linkend="queryhql">HQL</link>). + </para> + + <para> + The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</literal> statements + is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Some + points to note: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + In the from-clause, the FROM keyword is optional + </para> + </listitem> + <listitem> + <para> + There can only be a single entity named in the from-clause; it can optionally be + aliased. If the entity name is aliased, then any property references must + be qualified using that alias; if the entity name is not aliased, then it is + illegal for any property references to be qualified. + </para> + </listitem> + <listitem> + <para> + No <link linkend="queryhql-joins-forms">joins</link> (either implicit or explicit) + can be specified in a bulk HQL query. Sub-queries may be used in the where-clause; + the subqueries, themselves, may contain joins. + </para> + </listitem> + <listitem> + <para> + The where-clause is also optional. + </para> + </listitem> + </itemizedlist> + + <para> + As an example, to execute an HQL <literal>UPDATE</literal>, use the + <literal>IQuery.ExecuteUpdate()</literal> method: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +string hqlUpdate = "update Customer c set c.name = :newName where c.name = :oldName"; +// or string hqlUpdate = "update Customer set name = :newName where name = :oldName"; +int updatedEntities = s.CreateQuery( hqlUpdate ) + .SetString( "newName", newName ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + HQL <literal>UPDATE</literal> statements, by default do not effect the + <link linkend="mapping-declaration-version">version</link> + or the <link linkend="mapping-declaration-timestamp">timestamp</link> property values + for the affected entities. However, + you can force NHibernate to properly reset the <literal>version</literal> or + <literal>timestamp</literal> property values through the use of a <literal>versioned update</literal>. + This is achieved by adding the <literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> + keyword. + </para> +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); +string hqlVersionedUpdate = "update versioned Customer set name = :newName where name = :oldName"; +int updatedEntities = s.CreateQuery( hqlUpdate ) + .SetString( "newName", newName ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + Note that custom version types (<literal>NHibernate.Usertype.IUserVersionType</literal>) + are not allowed in conjunction with a <literal>update versioned</literal> statement. + </para> + + <para> + To execute an HQL <literal>DELETE</literal>, use the same <literal>IQuery.ExecuteUpdate()</literal> + method: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +String hqlDelete = "delete Customer c where c.name = :oldName"; +// or String hqlDelete = "delete Customer where name = :oldName"; +int deletedEntities = s.CreateQuery( hqlDelete ) + .SetString( "oldName", oldName ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + <para> + The <literal>int</literal> value returned by the <literal>IQuery.ExecuteUpdate()</literal> + method indicate the number of entities effected by the operation. Consider this may or may not + correlate to the number of rows effected in the database. An HQL bulk operation might result in + multiple actual SQL statements being executed, for joined-subclass, for example. The returned + number indicates the number of actual entities affected by the statement. Going back to the + example of joined-subclass, a delete against one of the subclasses may actually result + in deletes against not just the table to which that subclass is mapped, but also the "root" + table and potentially joined-subclass tables further down the inheritence hierarchy. + </para> + + <para> + The pseudo-syntax for <literal>INSERT</literal> statements is: + <literal>INSERT INTO EntityName properties_list select_statement</literal>. Some + points to note: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + Only the INSERT INTO ... SELECT ... form is supported; not the INSERT INTO ... VALUES ... form. + </para> + <para> + The properties_list is analogous to the <literal>column speficiation</literal> + in the SQL <literal>INSERT</literal> statement. For entities involved in mapped + inheritence, only properties directly defined on that given class-level can be + used in the properties_list. Superclass properties are not allowed; and subclass + properties do not make sense. In other words, <literal>INSERT</literal> + statements are inherently non-polymorphic. + </para> + </listitem> + <listitem> + <para> + select_statement can be any valid HQL select query, with the caveat that the return types + must match the types expected by the insert. Currently, this is checked during query + compilation rather than allowing the check to relegate to the database. Note however + that this might cause problems between NHibernate <literal>Type</literal>s which are + <emphasis>equivalent</emphasis> as opposed to <emphasis>equal</emphasis>. This might cause + issues with mismatches between a property defined as a <literal>NHibernate.Type.DateType</literal> + and a property defined as a <literal>NHibernate.Type.TimestampType</literal>, even though the + database might not make a distinction or might be able to handle the conversion. + </para> + </listitem> + <listitem> + <para> + For the id property, the insert statement gives you two options. You can either + explicitly specify the id property in the properties_list (in which case its value + is taken from the corresponding select expression) or omit it from the properties_list + (in which case a generated value is used). This later option is only available when + using id generators that operate in the database; attempting to use this option with + any "in memory" type generators will cause an exception during parsing. Note that + for the purposes of this discussion, in-database generators are considered to be + <literal>NHibernate.Id.SequenceGenerator</literal> (and its subclasses) and + any implementors of <literal>NHibernate.Id.IPostInsertIdentifierGenerator</literal>. + The most notable exception here is <literal>NHibernate.Id.TableHiLoGenerator</literal>, + which cannot be used because it does not expose a selectable way to get its values. + </para> + </listitem> + <listitem> + <para> + For properties mapped as either <literal>version</literal> or <literal>timestamp</literal>, + the insert statement gives you two options. You can either specify the property in the + properties_list (in which case its value is taken from the corresponding select expressions) + or omit it from the properties_list (in which case the <literal>seed value</literal> defined + by the <literal>NHibernate.Type.IVersionType</literal> is used). + </para> + </listitem> + </itemizedlist> + + <para> + An example HQL <literal>INSERT</literal> statement execution: + </para> + +<programlisting><![CDATA[ISession session = sessionFactory.OpenSession(); +ITransaction tx = session.BeginTransaction(); + +var hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ..."; +int createdEntities = s.CreateQuery( hqlInsert ) + .ExecuteUpdate(); +tx.Commit(); +session.Close();]]></programlisting> + + </sect1> + +</chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 14:39:49
|
Revision: 4616 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4616&view=rev Author: fabiomaulo Date: 2009-07-14 14:39:48 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4615 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/configuration.xml Modified: trunk/nhibernate/doc/reference/modules/configuration.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 14:38:44 UTC (rev 4615) +++ trunk/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 14:39:48 UTC (rev 4616) @@ -747,9 +747,7 @@ </table> <para> - Additional dialects may be available in the NHibernateContrib package (see - <xref linkend="part-contrib" />). At the time of writing this package contains - support for Microsoft Access (Jet) database engine. + Additional dialects may be available in the NHibernate.Dialect namespace. </para> </sect2> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 14:38:49
|
Revision: 4615 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4615&view=rev Author: fabiomaulo Date: 2009-07-14 14:38:44 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Minor Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml Modified: branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 13:59:33 UTC (rev 4614) +++ branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 14:38:44 UTC (rev 4615) @@ -747,9 +747,7 @@ </table> <para> - Additional dialects may be available in the NHibernateContrib package (see - <xref linkend="part-contrib" />). At the time of writing this package contains - support for Microsoft Access (Jet) database engine. + Additional dialects may be available in the NHibernate.Dialect namespace. </para> </sect2> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 13:59:38
|
Revision: 4614 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4614&view=rev Author: fabiomaulo Date: 2009-07-14 13:59:33 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4613 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/configuration.xml Modified: trunk/nhibernate/doc/reference/modules/configuration.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 13:57:26 UTC (rev 4613) +++ trunk/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 13:59:33 UTC (rev 4614) @@ -203,7 +203,7 @@ <tbody> <row> <entry> - <literal>hibernate.connection.provider_class</literal> + <literal>connection.provider_class</literal> </entry> <entry> The type of a custom <literal>IConnectionProvider</literal>. @@ -218,7 +218,7 @@ </row> <row> <entry> - <literal>hibernate.connection.driver_class</literal> + <literal>connection.driver_class</literal> </entry> <entry> The type of a custom <literal>IDriver</literal>, if using <literal>DriverConnectionProvider</literal>. @@ -228,7 +228,7 @@ if using an implementation of IDriver not included in NHibernate. </para> <para> - This is usually not needed, most of the time the <literal>hibernate.dialect</literal> will + This is usually not needed, most of the time the <literal>dialect</literal> will take care of setting the <literal>IDriver</literal> using a sensible default. See the API documentation of the specific dialect for the defaults. </para> @@ -236,7 +236,7 @@ </row> <row> <entry> - <literal>hibernate.connection.connection_string</literal> + <literal>connection.connection_string</literal> </entry> <entry> Connection string to use to obtain the connection. @@ -244,7 +244,7 @@ </row> <row> <entry> - <literal>hibernate.connection.connection_string_name</literal> + <literal>connection.connection_string_name</literal> </entry> <entry> The name of the connection string (defined in <literal><connectionStrings></literal> @@ -253,7 +253,7 @@ </row> <row> <entry> - <literal>hibernate.connection.isolation</literal> + <literal>connection.isolation</literal> </entry> <entry> Set the ADO.NET transaction isolation level. Check @@ -267,7 +267,7 @@ </row> <row> <entry> - <literal>hibernate.connection.release_mode</literal> + <literal>connection.release_mode</literal> </entry> <entry> Specify when NHibernate should release ADO.NET connections. @@ -289,7 +289,7 @@ </row> <row> <entry> - <literal>hibernate.command_timeout</literal> + <literal>command_timeout</literal> </entry> <entry> Specify the default timeout of <literal>IDbCommands</literal> @@ -298,7 +298,7 @@ </row> <row> <entry> - <literal>hibernate.adonet.batch_size</literal> + <literal>adonet.batch_size</literal> </entry> <entry> Specify the batch size to use when batching update statements. Setting this to 0 @@ -317,35 +317,25 @@ <programlisting id="we-config-configuration" revision="1"><![CDATA[<?xml version="1.0" encoding="utf-8" ?> <configuration> - <configSections> - <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, - Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - </configSections> - - <nhibernate> - <add - key="hibernate.connection.provider" - value="NHibernate.Connection.DriverConnectionProvider" - /> - <add - key="hibernate.dialect" - value="NHibernate.Dialect.MsSql2000Dialect" - /> - <add - key="hibernate.connection.driver_class" - value="NHibernate.Driver.SqlClientDriver" - /> - <add - key="hibernate.connection.connection_string" - value="Server=127.0.0.1; Initial Catalog=thedatabase; Integrated Security=SSPI" - /> - <add - key="hibernate.connection.isolation" - value="ReadCommitted" - /> - - </nhibernate> - + <configSections> + <section name="hibernate-configuration" + type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" /> + </configSections> + + <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> + <session-factory> + <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> + <property name="connection.connection_string"> + Server=(local);initial catalog=theDb;Integrated Security=SSPI + </property> + <property name="connection.isolation">ReadCommitted</property> + + <property name="proxyfactory.factory_class"> + NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu + </property> + </session-factory> + </hibernate-configuration> + <!-- other app specific config follows --> </configuration>]]></programlisting> @@ -356,7 +346,7 @@ <para> You may define your own plugin strategy for obtaining ADO.NET connections by implementing the interface <literal>NHibernate.Connection.IConnectionProvider</literal>. You may select - a custom implementation by setting <literal>hibernate.connection.provider_class</literal>. + a custom implementation by setting <literal>connection.provider_class</literal>. </para> </sect1> @@ -393,7 +383,7 @@ <tbody> <row> <entry> - <literal>hibernate.dialect</literal> + <literal>dialect</literal> </entry> <entry> The classname of a NHibernate <literal>Dialect</literal> - enables @@ -406,7 +396,7 @@ </row> <row> <entry> - <literal>hibernate.default_schema</literal> + <literal>default_schema</literal> </entry> <entry> Qualify unqualified tablenames with the given schema/tablespace @@ -419,7 +409,7 @@ </row> <row> <entry> - <literal>hibernate.use_outer_join</literal> + <literal>use_outer_join</literal> </entry> <entry> Enables outer join fetching. Deprecated, use <literal>max_fetch_depth</literal>. @@ -431,7 +421,7 @@ </row> <row> <entry> - <literal>hibernate.max_fetch_depth</literal> + <literal>max_fetch_depth</literal> </entry> <entry> Set a maximum "depth" for the outer join fetch tree @@ -445,7 +435,7 @@ </row> <row> <entry> - <literal>hibernate.use_reflection_optimizer</literal> + <literal>use_reflection_optimizer</literal> </entry> <entry> Enables use of a runtime-generated class to set or get properties of an entity @@ -463,7 +453,7 @@ </row> <row> <entry> - <literal>hibernate.bytecode.provider</literal> + <literal>bytecode.provider</literal> </entry> <entry> Specifies the bytecode provider to use to optimize the use of reflection in NHibernate. @@ -479,7 +469,7 @@ </row> <row> <entry> - <literal>hibernate.cache.provider_class</literal> + <literal>cache.provider_class</literal> </entry> <entry> The classname of a custom <literal>ICacheProvider</literal>. @@ -491,7 +481,7 @@ </row> <row> <entry> - <literal>hibernate.cache.use_minimal_puts</literal> + <literal>cache.use_minimal_puts</literal> </entry> <entry> Optimize second-level cache operation to minimize writes, at the @@ -504,7 +494,7 @@ </row> <row> <entry> - <literal>hibernate.cache.use_query_cache</literal> + <literal>cache.use_query_cache</literal> </entry> <entry> Enable the query cache, individual queries still have to be set cacheable. @@ -516,7 +506,7 @@ </row> <row> <entry> - <literal>hibernate.cache.query_cache_factory</literal> + <literal>cache.query_cache_factory</literal> </entry> <entry> The classname of a custom <literal>IQueryCacheFactory</literal> interface, @@ -529,7 +519,7 @@ </row> <row> <entry> - <literal>hibernate.cache.region_prefix</literal> + <literal>cache.region_prefix</literal> </entry> <entry> A prefix to use for second-level cache region names. @@ -541,7 +531,7 @@ </row> <row> <entry> - <literal>hibernate.query.substitutions</literal> + <literal>query.substitutions</literal> </entry> <entry> Mapping from tokens in NHibernate queries to SQL tokens @@ -554,7 +544,7 @@ </row> <row> <entry> - <literal>hibernate.show_sql</literal> + <literal>show_sql</literal> </entry> <entry> Write all SQL statements to console. @@ -566,7 +556,7 @@ </row> <row> <entry> - <literal>hibernate.hbm2ddl.auto</literal> + <literal>hbm2ddl.auto</literal> </entry> <entry> Automatically export schema DDL to the database when the @@ -582,7 +572,7 @@ </row> <row> <entry> - <literal>hibernate.use_proxy_validator</literal> + <literal>use_proxy_validator</literal> </entry> <entry> Enables or disables validation of interfaces or classes specified @@ -595,7 +585,7 @@ </row> <row> <entry> - <literal>hibernate.transaction.factory_class</literal> + <literal>transaction.factory_class</literal> </entry> <entry> The classname of a custom <literal>ITransactionFactory</literal> implementation, @@ -614,7 +604,7 @@ <title>SQL Dialects</title> <para> - You should always set the <literal>hibernate.dialect</literal> property to the correct + You should always set the <literal>dialect</literal> property to the correct <literal>NHibernate.Dialect.Dialect</literal> subclass for your database. This is not strictly essential unless you wish to use <literal>native</literal> or <literal>sequence</literal> primary key generation or pessimistic locking (with, eg. @@ -624,7 +614,7 @@ </para> <table frame="topbot" id="sql-dialects" revision="2"> - <title>NHibernate SQL Dialects (<literal>hibernate.dialect</literal>)</title> + <title>NHibernate SQL Dialects (<literal>dialect</literal>)</title> <tgroup cols="2"> <colspec colwidth="1*"/> <colspec colwidth="2.5*"/> @@ -685,16 +675,21 @@ <entry></entry> </row> <row> - <entry>Oracle (any version)</entry> - <entry><literal>NHibernate.Dialect.OracleDialect</literal></entry> + <entry>Oracle </entry> + <entry><literal>NHibernate.Dialect.Oracle8iDialect</literal></entry> <entry></entry> </row> <row> - <entry>Oracle 9/10g</entry> - <entry><literal>NHibernate.Dialect.Oracle9Dialect</literal></entry> + <entry>Oracle 9</entry> + <entry><literal>NHibernate.Dialect.Oracle9iDialect</literal></entry> <entry></entry> </row> <row> + <entry>Oracle 10g</entry> + <entry><literal>NHibernate.Dialect.Oracle10gDialect</literal></entry> + <entry></entry> + </row> + <row> <entry>Sybase Adaptive Server Enterprise</entry> <entry><literal>NHibernate.Dialect.SybaseDialect</literal></entry> <entry></entry> @@ -728,7 +723,7 @@ <entry>Firebird</entry> <entry><literal>NHibernate.Dialect.FirebirdDialect</literal></entry> <entry> - Set <literal>hibernate.driver_class</literal> to + Set <literal>driver_class</literal> to <literal>NHibernate.Driver.FirebirdClientDriver</literal> for Firebird ADO.NET provider 2.0. </entry> @@ -737,7 +732,7 @@ <entry>SQLite</entry> <entry><literal>NHibernate.Dialect.SQLiteDialect</literal></entry> <entry> - Set <literal>hibernate.driver_class</literal> to + Set <literal>driver_class</literal> to <literal>NHibernate.Driver.SQLite20Driver</literal> for System.Data.SQLite provider for .NET 2.0. </entry> @@ -784,7 +779,7 @@ <para> Outer join fetching may be disabled <emphasis>globally</emphasis> by setting - the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</literal>. + the property <literal>max_fetch_depth</literal> to <literal>0</literal>. A setting of <literal>1</literal> or higher enables outer join fetching for one-to-one and many-to-one associations which have been mapped with <literal>fetch="join"</literal>. @@ -808,7 +803,7 @@ You may integrate a process-level (or clustered) second-level cache system by implementing the interface <literal>NHibernate.Cache.ICacheProvider</literal>. You may select the custom implementation by setting - <literal>hibernate.cache.provider_class</literal>. See the + <literal>cache.provider_class</literal>. See the <xref linkend="performance-cache"/> for more details. </para> @@ -818,18 +813,18 @@ <title>Query Language Substitution</title> <para> - You may define new NHibernate query tokens using <literal>hibernate.query.substitutions</literal>. + You may define new NHibernate query tokens using <literal>query.substitutions</literal>. For example: </para> - <programlisting>hibernate.query.substitutions true=1, false=0</programlisting> + <programlisting>query.substitutions true=1, false=0</programlisting> <para> would cause the tokens <literal>true</literal> and <literal>false</literal> to be translated to integer literals in the generated SQL. </para> - <programlisting>hibernate.query.substitutions toLowercase=LOWER</programlisting> + <programlisting>query.substitutions toLowercase=LOWER</programlisting> <para> would allow you to rename the SQL <literal>LOWER</literal> function. @@ -858,7 +853,7 @@ messages. A lot of work has been put into making the NHibernate log as detailed as possible, without making it unreadable. It is an essential troubleshooting device. Also don't forget to enable SQL logging as - described above (<literal>hibernate.show_sql</literal>), it is your first + described above (<literal>show_sql</literal>), it is your first step when looking for performance problems. </para> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 13:57:31
|
Revision: 4613 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4613&view=rev Author: fabiomaulo Date: 2009-07-14 13:57:26 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Actualization of conf. doc. Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml Modified: branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 13:12:28 UTC (rev 4612) +++ branches/2.1.x/nhibernate/doc/reference/modules/configuration.xml 2009-07-14 13:57:26 UTC (rev 4613) @@ -203,7 +203,7 @@ <tbody> <row> <entry> - <literal>hibernate.connection.provider_class</literal> + <literal>connection.provider_class</literal> </entry> <entry> The type of a custom <literal>IConnectionProvider</literal>. @@ -218,7 +218,7 @@ </row> <row> <entry> - <literal>hibernate.connection.driver_class</literal> + <literal>connection.driver_class</literal> </entry> <entry> The type of a custom <literal>IDriver</literal>, if using <literal>DriverConnectionProvider</literal>. @@ -228,7 +228,7 @@ if using an implementation of IDriver not included in NHibernate. </para> <para> - This is usually not needed, most of the time the <literal>hibernate.dialect</literal> will + This is usually not needed, most of the time the <literal>dialect</literal> will take care of setting the <literal>IDriver</literal> using a sensible default. See the API documentation of the specific dialect for the defaults. </para> @@ -236,7 +236,7 @@ </row> <row> <entry> - <literal>hibernate.connection.connection_string</literal> + <literal>connection.connection_string</literal> </entry> <entry> Connection string to use to obtain the connection. @@ -244,7 +244,7 @@ </row> <row> <entry> - <literal>hibernate.connection.connection_string_name</literal> + <literal>connection.connection_string_name</literal> </entry> <entry> The name of the connection string (defined in <literal><connectionStrings></literal> @@ -253,7 +253,7 @@ </row> <row> <entry> - <literal>hibernate.connection.isolation</literal> + <literal>connection.isolation</literal> </entry> <entry> Set the ADO.NET transaction isolation level. Check @@ -267,7 +267,7 @@ </row> <row> <entry> - <literal>hibernate.connection.release_mode</literal> + <literal>connection.release_mode</literal> </entry> <entry> Specify when NHibernate should release ADO.NET connections. @@ -289,7 +289,7 @@ </row> <row> <entry> - <literal>hibernate.command_timeout</literal> + <literal>command_timeout</literal> </entry> <entry> Specify the default timeout of <literal>IDbCommands</literal> @@ -298,7 +298,7 @@ </row> <row> <entry> - <literal>hibernate.adonet.batch_size</literal> + <literal>adonet.batch_size</literal> </entry> <entry> Specify the batch size to use when batching update statements. Setting this to 0 @@ -317,35 +317,25 @@ <programlisting id="we-config-configuration" revision="1"><![CDATA[<?xml version="1.0" encoding="utf-8" ?> <configuration> - <configSections> - <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, - Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - </configSections> - - <nhibernate> - <add - key="hibernate.connection.provider" - value="NHibernate.Connection.DriverConnectionProvider" - /> - <add - key="hibernate.dialect" - value="NHibernate.Dialect.MsSql2000Dialect" - /> - <add - key="hibernate.connection.driver_class" - value="NHibernate.Driver.SqlClientDriver" - /> - <add - key="hibernate.connection.connection_string" - value="Server=127.0.0.1; Initial Catalog=thedatabase; Integrated Security=SSPI" - /> - <add - key="hibernate.connection.isolation" - value="ReadCommitted" - /> - - </nhibernate> - + <configSections> + <section name="hibernate-configuration" + type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" /> + </configSections> + + <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> + <session-factory> + <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> + <property name="connection.connection_string"> + Server=(local);initial catalog=theDb;Integrated Security=SSPI + </property> + <property name="connection.isolation">ReadCommitted</property> + + <property name="proxyfactory.factory_class"> + NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu + </property> + </session-factory> + </hibernate-configuration> + <!-- other app specific config follows --> </configuration>]]></programlisting> @@ -356,7 +346,7 @@ <para> You may define your own plugin strategy for obtaining ADO.NET connections by implementing the interface <literal>NHibernate.Connection.IConnectionProvider</literal>. You may select - a custom implementation by setting <literal>hibernate.connection.provider_class</literal>. + a custom implementation by setting <literal>connection.provider_class</literal>. </para> </sect1> @@ -393,7 +383,7 @@ <tbody> <row> <entry> - <literal>hibernate.dialect</literal> + <literal>dialect</literal> </entry> <entry> The classname of a NHibernate <literal>Dialect</literal> - enables @@ -406,7 +396,7 @@ </row> <row> <entry> - <literal>hibernate.default_schema</literal> + <literal>default_schema</literal> </entry> <entry> Qualify unqualified tablenames with the given schema/tablespace @@ -419,7 +409,7 @@ </row> <row> <entry> - <literal>hibernate.use_outer_join</literal> + <literal>use_outer_join</literal> </entry> <entry> Enables outer join fetching. Deprecated, use <literal>max_fetch_depth</literal>. @@ -431,7 +421,7 @@ </row> <row> <entry> - <literal>hibernate.max_fetch_depth</literal> + <literal>max_fetch_depth</literal> </entry> <entry> Set a maximum "depth" for the outer join fetch tree @@ -445,7 +435,7 @@ </row> <row> <entry> - <literal>hibernate.use_reflection_optimizer</literal> + <literal>use_reflection_optimizer</literal> </entry> <entry> Enables use of a runtime-generated class to set or get properties of an entity @@ -463,7 +453,7 @@ </row> <row> <entry> - <literal>hibernate.bytecode.provider</literal> + <literal>bytecode.provider</literal> </entry> <entry> Specifies the bytecode provider to use to optimize the use of reflection in NHibernate. @@ -479,7 +469,7 @@ </row> <row> <entry> - <literal>hibernate.cache.provider_class</literal> + <literal>cache.provider_class</literal> </entry> <entry> The classname of a custom <literal>ICacheProvider</literal>. @@ -491,7 +481,7 @@ </row> <row> <entry> - <literal>hibernate.cache.use_minimal_puts</literal> + <literal>cache.use_minimal_puts</literal> </entry> <entry> Optimize second-level cache operation to minimize writes, at the @@ -504,7 +494,7 @@ </row> <row> <entry> - <literal>hibernate.cache.use_query_cache</literal> + <literal>cache.use_query_cache</literal> </entry> <entry> Enable the query cache, individual queries still have to be set cacheable. @@ -516,7 +506,7 @@ </row> <row> <entry> - <literal>hibernate.cache.query_cache_factory</literal> + <literal>cache.query_cache_factory</literal> </entry> <entry> The classname of a custom <literal>IQueryCacheFactory</literal> interface, @@ -529,7 +519,7 @@ </row> <row> <entry> - <literal>hibernate.cache.region_prefix</literal> + <literal>cache.region_prefix</literal> </entry> <entry> A prefix to use for second-level cache region names. @@ -541,7 +531,7 @@ </row> <row> <entry> - <literal>hibernate.query.substitutions</literal> + <literal>query.substitutions</literal> </entry> <entry> Mapping from tokens in NHibernate queries to SQL tokens @@ -554,7 +544,7 @@ </row> <row> <entry> - <literal>hibernate.show_sql</literal> + <literal>show_sql</literal> </entry> <entry> Write all SQL statements to console. @@ -566,7 +556,7 @@ </row> <row> <entry> - <literal>hibernate.hbm2ddl.auto</literal> + <literal>hbm2ddl.auto</literal> </entry> <entry> Automatically export schema DDL to the database when the @@ -582,7 +572,7 @@ </row> <row> <entry> - <literal>hibernate.use_proxy_validator</literal> + <literal>use_proxy_validator</literal> </entry> <entry> Enables or disables validation of interfaces or classes specified @@ -595,7 +585,7 @@ </row> <row> <entry> - <literal>hibernate.transaction.factory_class</literal> + <literal>transaction.factory_class</literal> </entry> <entry> The classname of a custom <literal>ITransactionFactory</literal> implementation, @@ -614,7 +604,7 @@ <title>SQL Dialects</title> <para> - You should always set the <literal>hibernate.dialect</literal> property to the correct + You should always set the <literal>dialect</literal> property to the correct <literal>NHibernate.Dialect.Dialect</literal> subclass for your database. This is not strictly essential unless you wish to use <literal>native</literal> or <literal>sequence</literal> primary key generation or pessimistic locking (with, eg. @@ -624,7 +614,7 @@ </para> <table frame="topbot" id="sql-dialects" revision="2"> - <title>NHibernate SQL Dialects (<literal>hibernate.dialect</literal>)</title> + <title>NHibernate SQL Dialects (<literal>dialect</literal>)</title> <tgroup cols="2"> <colspec colwidth="1*"/> <colspec colwidth="2.5*"/> @@ -685,16 +675,21 @@ <entry></entry> </row> <row> - <entry>Oracle (any version)</entry> - <entry><literal>NHibernate.Dialect.OracleDialect</literal></entry> + <entry>Oracle </entry> + <entry><literal>NHibernate.Dialect.Oracle8iDialect</literal></entry> <entry></entry> </row> <row> - <entry>Oracle 9/10g</entry> - <entry><literal>NHibernate.Dialect.Oracle9Dialect</literal></entry> + <entry>Oracle 9</entry> + <entry><literal>NHibernate.Dialect.Oracle9iDialect</literal></entry> <entry></entry> </row> <row> + <entry>Oracle 10g</entry> + <entry><literal>NHibernate.Dialect.Oracle10gDialect</literal></entry> + <entry></entry> + </row> + <row> <entry>Sybase Adaptive Server Enterprise</entry> <entry><literal>NHibernate.Dialect.SybaseDialect</literal></entry> <entry></entry> @@ -728,7 +723,7 @@ <entry>Firebird</entry> <entry><literal>NHibernate.Dialect.FirebirdDialect</literal></entry> <entry> - Set <literal>hibernate.driver_class</literal> to + Set <literal>driver_class</literal> to <literal>NHibernate.Driver.FirebirdClientDriver</literal> for Firebird ADO.NET provider 2.0. </entry> @@ -737,7 +732,7 @@ <entry>SQLite</entry> <entry><literal>NHibernate.Dialect.SQLiteDialect</literal></entry> <entry> - Set <literal>hibernate.driver_class</literal> to + Set <literal>driver_class</literal> to <literal>NHibernate.Driver.SQLite20Driver</literal> for System.Data.SQLite provider for .NET 2.0. </entry> @@ -784,7 +779,7 @@ <para> Outer join fetching may be disabled <emphasis>globally</emphasis> by setting - the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</literal>. + the property <literal>max_fetch_depth</literal> to <literal>0</literal>. A setting of <literal>1</literal> or higher enables outer join fetching for one-to-one and many-to-one associations which have been mapped with <literal>fetch="join"</literal>. @@ -808,7 +803,7 @@ You may integrate a process-level (or clustered) second-level cache system by implementing the interface <literal>NHibernate.Cache.ICacheProvider</literal>. You may select the custom implementation by setting - <literal>hibernate.cache.provider_class</literal>. See the + <literal>cache.provider_class</literal>. See the <xref linkend="performance-cache"/> for more details. </para> @@ -818,18 +813,18 @@ <title>Query Language Substitution</title> <para> - You may define new NHibernate query tokens using <literal>hibernate.query.substitutions</literal>. + You may define new NHibernate query tokens using <literal>query.substitutions</literal>. For example: </para> - <programlisting>hibernate.query.substitutions true=1, false=0</programlisting> + <programlisting>query.substitutions true=1, false=0</programlisting> <para> would cause the tokens <literal>true</literal> and <literal>false</literal> to be translated to integer literals in the generated SQL. </para> - <programlisting>hibernate.query.substitutions toLowercase=LOWER</programlisting> + <programlisting>query.substitutions toLowercase=LOWER</programlisting> <para> would allow you to rename the SQL <literal>LOWER</literal> function. @@ -858,7 +853,7 @@ messages. A lot of work has been put into making the NHibernate log as detailed as possible, without making it unreadable. It is an essential troubleshooting device. Also don't forget to enable SQL logging as - described above (<literal>hibernate.show_sql</literal>), it is your first + described above (<literal>show_sql</literal>), it is your first step when looking for performance problems. </para> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 13:12:31
|
Revision: 4612 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4612&view=rev Author: fabiomaulo Date: 2009-07-14 13:12:28 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4611 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/basic_mapping.xml Modified: trunk/nhibernate/doc/reference/modules/basic_mapping.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/basic_mapping.xml 2009-07-14 13:11:16 UTC (rev 4611) +++ trunk/nhibernate/doc/reference/modules/basic_mapping.xml 2009-07-14 13:12:28 UTC (rev 4612) @@ -1656,7 +1656,45 @@ <programlisting><![CDATA[<one-to-one name="Employee" class="Employee" property-ref="Person"/>]]></programlisting> </sect2> - + + <sect2 id="mapping-declaration-naturalid"> + <title>natural-id</title> + + <programlisting><![CDATA[<natural-id mutable="true|false"/> + <property ... /> + <many-to-one ... /> + ...... +</natural-id>]]></programlisting> + + <para> + Even though we recommend the use of surrogate keys as primary keys, you should still try + to identify natural keys for all entities. A natural key is a property or combination of + properties that is unique and non-null. If it is also immutable, even better. Map the + properties of the natural key inside the <literal><natural-id></literal> element. + Hibernate will generate the necessary unique key and nullability constraints, and your + mapping will be more self-documenting. + </para> + + <para> + We strongly recommend that you implement <literal>Equals()</literal> and + <literal>GetHashCode()</literal> to compare the natural key properties of the entity. + </para> + + <para> + This mapping is not intended for use with entities with natural primary keys. + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + <literal>mutable</literal> (optional, defaults to <literal>false</literal>): + By default, natural identifier properties as assumed to be immutable (constant). + </para> + </listitem> + </itemizedlist> + + </sect2> + <sect2 id="mapping-declaration-component"> <title>component, dynamic-component</title> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 13:11:23
|
Revision: 4611 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4611&view=rev Author: fabiomaulo Date: 2009-07-14 13:11:16 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Added natural-id to doc Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/basic_mapping.xml Modified: branches/2.1.x/nhibernate/doc/reference/modules/basic_mapping.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/basic_mapping.xml 2009-07-14 01:36:03 UTC (rev 4610) +++ branches/2.1.x/nhibernate/doc/reference/modules/basic_mapping.xml 2009-07-14 13:11:16 UTC (rev 4611) @@ -1656,7 +1656,45 @@ <programlisting><![CDATA[<one-to-one name="Employee" class="Employee" property-ref="Person"/>]]></programlisting> </sect2> - + + <sect2 id="mapping-declaration-naturalid"> + <title>natural-id</title> + + <programlisting><![CDATA[<natural-id mutable="true|false"/> + <property ... /> + <many-to-one ... /> + ...... +</natural-id>]]></programlisting> + + <para> + Even though we recommend the use of surrogate keys as primary keys, you should still try + to identify natural keys for all entities. A natural key is a property or combination of + properties that is unique and non-null. If it is also immutable, even better. Map the + properties of the natural key inside the <literal><natural-id></literal> element. + Hibernate will generate the necessary unique key and nullability constraints, and your + mapping will be more self-documenting. + </para> + + <para> + We strongly recommend that you implement <literal>Equals()</literal> and + <literal>GetHashCode()</literal> to compare the natural key properties of the entity. + </para> + + <para> + This mapping is not intended for use with entities with natural primary keys. + </para> + + <itemizedlist spacing="compact"> + <listitem> + <para> + <literal>mutable</literal> (optional, defaults to <literal>false</literal>): + By default, natural identifier properties as assumed to be immutable (constant). + </para> + </listitem> + </itemizedlist> + + </sect2> + <sect2 id="mapping-declaration-component"> <title>component, dynamic-component</title> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 01:36:04
|
Revision: 4610 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4610&view=rev Author: fabiomaulo Date: 2009-07-14 01:36:03 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Merge r4609 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/example_mappings.xml Added Paths: ----------- trunk/nhibernate/doc/reference/images/AuthorWork.png trunk/nhibernate/doc/reference/images/CustomerOrderProduct.png Removed Paths: ------------- trunk/nhibernate/doc/reference/images/AuthorWork.gif trunk/nhibernate/doc/reference/images/AuthorWork.zargo trunk/nhibernate/doc/reference/images/CustomerOrderProduct.gif trunk/nhibernate/doc/reference/images/CustomerOrderProduct.zargo Deleted: trunk/nhibernate/doc/reference/images/AuthorWork.gif =================================================================== (Binary files differ) Added: trunk/nhibernate/doc/reference/images/AuthorWork.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/AuthorWork.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/AuthorWork.zargo =================================================================== (Binary files differ) Deleted: trunk/nhibernate/doc/reference/images/CustomerOrderProduct.gif =================================================================== (Binary files differ) Added: trunk/nhibernate/doc/reference/images/CustomerOrderProduct.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/CustomerOrderProduct.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/CustomerOrderProduct.zargo =================================================================== (Binary files differ) Modified: trunk/nhibernate/doc/reference/modules/example_mappings.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-14 01:34:03 UTC (rev 4609) +++ trunk/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-14 01:36:03 UTC (rev 4610) @@ -136,13 +136,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="images/AuthorWork.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/AuthorWork.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/AuthorWork.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -268,13 +268,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> </mediaobject> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-14 01:34:10
|
Revision: 4609 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4609&view=rev Author: fabiomaulo Date: 2009-07-14 01:34:03 +0000 (Tue, 14 Jul 2009) Log Message: ----------- Replaced the last two available images Modified Paths: -------------- branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml Added Paths: ----------- branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.png branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.png Removed Paths: ------------- branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.gif branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.zargo branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.gif branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.zargo Deleted: branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.gif =================================================================== (Binary files differ) Added: branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/AuthorWork.zargo =================================================================== (Binary files differ) Deleted: branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.gif =================================================================== (Binary files differ) Added: branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/CustomerOrderProduct.zargo =================================================================== (Binary files differ) Modified: branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-13 22:36:33 UTC (rev 4608) +++ branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-14 01:34:03 UTC (rev 4609) @@ -136,13 +136,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="images/AuthorWork.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/AuthorWork.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/AuthorWork.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/AuthorWork.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -268,13 +268,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/CustomerOrderProduct.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/CustomerOrderProduct.png" format="PNG" align="center"/> </imageobject> </mediaobject> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-13 22:36:39
|
Revision: 4608 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4608&view=rev Author: fabiomaulo Date: 2009-07-13 22:36:33 +0000 (Mon, 13 Jul 2009) Log Message: ----------- Merge r4607 Modified Paths: -------------- trunk/nhibernate/default.build trunk/nhibernate/doc/reference/master.xml trunk/nhibernate/doc/reference/modules/architecture.xml trunk/nhibernate/doc/reference/modules/example_mappings.xml trunk/nhibernate/doc/reference/styles/fopdf.xsl trunk/nhibernate/src/NHibernate/ISession.cs Added Paths: ----------- trunk/nhibernate/doc/reference/images/EmployerEmployee.png trunk/nhibernate/doc/reference/images/fullcream.png trunk/nhibernate/doc/reference/images/lite.png trunk/nhibernate/doc/reference/images/overview.png Removed Paths: ------------- trunk/nhibernate/doc/reference/images/EmployerEmployee.gif trunk/nhibernate/doc/reference/images/EmployerEmployee.zargo trunk/nhibernate/doc/reference/images/full_cream.gif trunk/nhibernate/doc/reference/images/full_cream.svg trunk/nhibernate/doc/reference/images/hibernate_logo_a.png trunk/nhibernate/doc/reference/images/lite.gif trunk/nhibernate/doc/reference/images/lite.svg trunk/nhibernate/doc/reference/images/overview.gif trunk/nhibernate/doc/reference/images/overview.svg Modified: trunk/nhibernate/default.build =================================================================== --- trunk/nhibernate/default.build 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/default.build 2009-07-13 22:36:33 UTC (rev 4608) @@ -151,6 +151,11 @@ description="Builds the Help Documentation and the API documentation"> <nant buildfile="doc/documentation.build" target="api manual" /> </target> + + <target name="manual" depends="init binaries" + description="Builds the Help Documentation"> + <nant buildfile="doc/documentation.build" target="manual" /> + </target> <target name="build-all-frameworks" depends="init"> <!-- Save the current framework --> @@ -293,8 +298,8 @@ <target name="installer" depends="init binaries doc prepare-installer-files"> <nant buildfile="src/NHibernate.Setup/NHibernate.Setup.build" target="msi" /> </target> - - <target name="package" depends="init test-all-frameworks binaries doc sources-zip binaries-zip installer" + + <target name="package" depends="init set-release-project-configuration test binaries manual sources-zip binaries-zip" description="Creates files for the File Release System on SourceForge"> <property name="dist.output.dir" value="${project::get-base-directory()}/build/" /> Deleted: trunk/nhibernate/doc/reference/images/EmployerEmployee.gif =================================================================== (Binary files differ) Added: trunk/nhibernate/doc/reference/images/EmployerEmployee.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/EmployerEmployee.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/EmployerEmployee.zargo =================================================================== (Binary files differ) Deleted: trunk/nhibernate/doc/reference/images/full_cream.gif =================================================================== (Binary files differ) Deleted: trunk/nhibernate/doc/reference/images/full_cream.svg =================================================================== --- trunk/nhibernate/doc/reference/images/full_cream.svg 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/images/full_cream.svg 2009-07-13 22:36:33 UTC (rev 4608) @@ -1,429 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="354.331" - height="336.614" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)" - style="font-size:12;" - id="g659"> - <rect - width="212.257" - height="57.2441" - x="17.9576" - y="100.132" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - transform="matrix(0.743454,0,0,0.482981,6.46949,52.2178)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <rect - width="325.86" - height="63.6537" - x="17.4083" - y="15.194" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="325.86" - height="63.6537" - x="13.6713" - y="12.4966" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - <g - transform="matrix(1.14345,0,0,0.729078,-1.67818,105.325)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <text - x="170.824753" - y="58.402939" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="170.824997" - y="58.402901" - id="tspan360"> -Application</tspan> - </text> - <text - x="178.076340" - y="364.281433" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="178.076004" - y="364.281006" - id="tspan421"> -Database</tspan> - </text> - <text - x="68.605331" - y="138.524582" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="68.605301" - y="138.524994" - id="tspan384"> -SessionFactory</tspan> - </text> - <rect - width="67.0014" - height="101.35" - x="196.927" - y="89.2389" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect387" /> - <rect - width="67.0014" - height="101.35" - x="194.633" - y="86.4389" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect388" /> - <text - x="249.108841" - y="173.885559" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text389"> - <tspan - x="249.108994" - y="173.886002" - id="tspan392"> -Session</tspan> - </text> - <rect - width="73.0355" - height="101.35" - x="270.995" - y="90.0018" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect395" /> - <rect - width="73.0355" - height="101.35" - x="267.869" - y="87.2018" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect396" /> - <text - x="328.593658" - y="174.715622" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text397"> - <tspan - x="328.593994" - y="174.716003" - id="tspan563"> -Transaction</tspan> - </text> - <g - transform="matrix(0.29544,0,0,0.397877,9.70533,103.96)" - style="font-size:12;" - id="g565"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect566" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect567" /> - </g> - <text - x="25.592752" - y="204.497803" - transform="scale(0.823795,0.823795)" - style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text568"> - <tspan - x="25.592800" - y="204.498001" - id="tspan662"> -TransactionFactory</tspan> - </text> - <g - transform="matrix(0.298082,0,0,0.397877,99.6898,103.96)" - style="font-size:12;" - id="g573"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect574" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect575" /> - </g> - <text - x="134.030670" - y="205.532791" - transform="scale(0.823795,0.823795)" - style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text576"> - <tspan - x="134.031006" - y="205.533005" - id="tspan664"> -ConnectionProvider</tspan> - </text> - <g - transform="matrix(1.14345,0,0,0.729078,-1.67818,38.9539)" - style="font-size:12;" - id="g587"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect588" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect589" /> - </g> - <rect - width="90.951" - height="44.4829" - x="25.6196" - y="206.028" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect594" /> - <rect - width="90.951" - height="44.4829" - x="24.4229" - y="204.135" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect595" /> - <text - x="85.575645" - y="282.300354" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text596"> - <tspan - x="85.575600" - y="282.299988" - id="tspan607"> -JNDI</tspan> - </text> - <rect - width="90.951" - height="44.4829" - x="236.937" - y="206.791" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect610" /> - <rect - width="90.951" - height="44.4829" - x="235.741" - y="204.898" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect611" /> - <text - x="342.093201" - y="283.226410" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text612"> - <tspan - x="342.092987" - y="283.226013" - id="tspan621"> -JTA</tspan> - </text> - <rect - width="90.951" - height="44.4829" - x="130.134" - y="206.791" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect616" /> - <rect - width="90.951" - height="44.4829" - x="128.937" - y="204.898" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect617" /> - <text - x="212.445343" - y="283.226410" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text618"> - <tspan - x="212.445007" - y="283.226013" - id="tspan623"> -JDBC</tspan> - </text> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,6.19341)" - style="font-size:12;" - id="g637"> - <g - transform="matrix(0.499515,0,0,0.415467,-0.237339,5.61339)" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="33.749969" - y="50.589706" - style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="33.750000" - y="50.589699" - id="tspan635"> -Transient Objects</tspan> - </text> - </g> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)" - style="font-size:12;" - id="g644"> - <g - transform="matrix(0.297486,0,0,0.516482,230.251,36.9178)" - id="g364"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect365" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect366" /> - </g> - <text - x="277.123230" - y="85.155571" - style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text367"> - <tspan - x="277.122986" - y="85.155602" - id="tspan631"> -Persistent</tspan> - <tspan - x="277.122986" - y="96.155602" - id="tspan633"> -Objects</tspan> - </text> - </g> -</svg> Added: trunk/nhibernate/doc/reference/images/fullcream.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/fullcream.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/hibernate_logo_a.png =================================================================== (Binary files differ) Deleted: trunk/nhibernate/doc/reference/images/lite.gif =================================================================== (Binary files differ) Added: trunk/nhibernate/doc/reference/images/lite.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/lite.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/lite.svg =================================================================== --- trunk/nhibernate/doc/reference/images/lite.svg 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/images/lite.svg 2009-07-13 22:36:33 UTC (rev 4608) @@ -1,334 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="318.898" - height="248.031" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <rect - width="291.837" - height="57.0074" - x="17.3169" - y="18.646" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="291.837" - height="57.0074" - x="13.9703" - y="16.2302" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - <g - transform="matrix(0.326107,0,0,0.765831,9.59261,8.98517)" - style="font-size:12;" - id="g161"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <g - transform="matrix(1.02406,0,0,0.652953,0.223384,39.9254)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <g - transform="matrix(0.449834,0,0,0.338463,-3.15909,9.73319)" - style="font-size:12;" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="302.277679" - y="65.943230" - transform="scale(0.73778,0.73778)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="302.277954" - y="65.943184" - id="tspan360"> -Application</tspan> - </text> - <text - x="36.235924" - y="63.796055" - transform="scale(0.73778,0.73778)" - style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="36.235950" - y="63.796051" - id="tspan427"> -Transient Objects</tspan> - </text> - <text - x="180.416245" - y="290.543701" - transform="scale(0.73778,0.73778)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="180.415939" - y="290.543549" - id="tspan421"> -Database</tspan> - </text> - <text - x="25.037701" - y="179.154755" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="25.037655" - y="179.154648" - id="tspan384"> -SessionFactory</tspan> - </text> - <g - transform="matrix(0.252763,0,0,0.765831,109.104,8.98517)" - style="font-size:12;" - id="g386"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect387" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect388" /> - </g> - <g - transform="matrix(0.297394,0,0,0.572692,101.502,21.6359)" - style="font-size:12;" - id="g364"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect365" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect366" /> - </g> - <text - x="202.746506" - y="102.992203" - transform="scale(0.73778,0.73778)" - style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text367"> - <tspan - x="202.746948" - y="102.992249" - id="tspan423"> -Persistent</tspan> - <tspan - x="202.746948" - y="116.992355" - id="tspan425"> -Objects</tspan> - </text> - <text - x="174.458496" - y="180.080795" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text389"> - <tspan - x="174.458618" - y="180.080338" - id="tspan392"> -Session</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,188.675,8.98517)" - style="font-size:12;" - id="g394"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect395" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect396" /> - </g> - <text - x="260.413269" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text397"> - <tspan - x="260.412964" - y="179.154343" - id="tspan400"> -JDBC</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,229.156,8.98517)" - style="font-size:12;" - id="g405"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect406" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect407" /> - </g> - <text - x="320.606903" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text408"> - <tspan - x="320.606964" - y="179.154343" - id="tspan417"> -JNDI</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,269.281,8.98517)" - style="font-size:12;" - id="g411"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect412" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect413" /> - </g> - <text - x="377.096313" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text414"> - <tspan - x="377.096008" - y="179.154999" - id="tspan145"> -JTA</tspan> - </text> -</svg> Deleted: trunk/nhibernate/doc/reference/images/overview.gif =================================================================== (Binary files differ) Added: trunk/nhibernate/doc/reference/images/overview.png =================================================================== (Binary files differ) Property changes on: trunk/nhibernate/doc/reference/images/overview.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/nhibernate/doc/reference/images/overview.svg =================================================================== --- trunk/nhibernate/doc/reference/images/overview.svg 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/images/overview.svg 2009-07-13 22:36:33 UTC (rev 4608) @@ -1,250 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="248.031" - height="248.031" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,-3.02123)" - style="font-size:12;" - id="g158"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="17.3527" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="15.3883" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - </g> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,3.04452)" - style="font-size:12;" - id="g161"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,8.0993)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <g - transform="matrix(0.771934,0,0,0.543505,2.59104,21.1103)" - style="font-size:12;" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="105.392174" - y="56.568123" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="105.392273" - y="56.568146" - id="tspan186"> -Application</tspan> - </text> - <text - x="81.820183" - y="103.149330" - transform="scale(0.771934,0.771934)" - style="font-size:20;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="81.820213" - y="103.149727" - id="tspan206"> -Persistent Objects</tspan> - </text> - <text - x="111.548180" - y="278.927887" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="111.547874" - y="278.927551" - id="tspan200"> -Database</tspan> - </text> - <text - x="94.436180" - y="153.805740" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="94.436180" - y="153.805740" - id="tspan221"> -HIBERNATE</tspan> - </text> - <g - transform="matrix(0.771934,0,0,0.771934,2.59083,1.02261)" - style="font-size:12;" - id="g254"> - <g - transform="translate(4.58374,2.61928)" - id="g176"> - <g - transform="matrix(0.571429,0,0,0.67347,-10.6174,117.093)" - id="g170"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect171" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect172" /> - </g> - <g - transform="matrix(0.571429,0,0,0.67347,138.682,117.093)" - id="g173"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect174" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect175" /> - </g> - </g> - <text - x="47.259438" - y="182.367538" - style="font-weight:bold;stroke-width:1pt;font-family:Courier;" - id="text191"> - <tspan - x="47.259399" - y="182.367996" - id="tspan212"> -hibernate.</tspan> - <tspan - x="47.259399" - y="194.367996" - id="tspan214"> -properties</tspan> - </text> - <text - x="198.523010" - y="188.260941" - style="font-weight:normal;stroke-width:1pt;font-family:helvetica;" - id="text194"> - <tspan - id="tspan195"> -XML Mapping</tspan> - </text> - </g> -</svg> Modified: trunk/nhibernate/doc/reference/master.xml =================================================================== --- trunk/nhibernate/doc/reference/master.xml 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/master.xml 2009-07-13 22:36:33 UTC (rev 4608) @@ -36,7 +36,7 @@ <bookinfo> <title>NHibernate - Relational Persistence for Idiomatic .NET</title> <subtitle>NHibernate Reference Documentation</subtitle> - <releaseinfo>2.0.0</releaseinfo> + <releaseinfo>2.1.0</releaseinfo> </bookinfo> <toc /> Modified: trunk/nhibernate/doc/reference/modules/architecture.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/architecture.xml 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/modules/architecture.xml 2009-07-13 22:36:33 UTC (rev 4608) @@ -11,13 +11,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/overview.svg" format="SVG" align="center"/> + <imagedata fileref="images/overview.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/overview.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/overview.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/overview.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/overview.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -36,13 +36,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/lite.svg" format="SVG" align="center"/> + <imagedata fileref="images/lite.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/lite.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/lite.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/lite.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/lite.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -53,13 +53,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/full_cream.svg" format="SVG" align="center"/> + <imagedata fileref="images/fullcream.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/full_cream.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/fullcream.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/full_cream.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/fullcream.png" format="PNG" align="center"/> </imageobject> </mediaobject> Modified: trunk/nhibernate/doc/reference/modules/example_mappings.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-13 22:36:33 UTC (rev 4608) @@ -18,13 +18,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> </mediaobject> Modified: trunk/nhibernate/doc/reference/styles/fopdf.xsl =================================================================== --- trunk/nhibernate/doc/reference/styles/fopdf.xsl 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/doc/reference/styles/fopdf.xsl 2009-07-13 22:36:33 UTC (rev 4608) @@ -41,7 +41,7 @@ <fo:table-row> <fo:table-cell text-align="center"> <fo:block> - <fo:external-graphic src="file:images/hibernate_logo_a.png"/> + <fo:external-graphic src="file:images/nhibernate_logo_a.png"/> </fo:block> <fo:block font-family="Helvetica" font-size="22pt" padding-before="10mm"> <xsl:value-of select="bookinfo/subtitle"/> Modified: trunk/nhibernate/src/NHibernate/ISession.cs =================================================================== --- trunk/nhibernate/src/NHibernate/ISession.cs 2009-07-13 22:32:35 UTC (rev 4607) +++ trunk/nhibernate/src/NHibernate/ISession.cs 2009-07-13 22:36:33 UTC (rev 4608) @@ -8,7 +8,7 @@ namespace NHibernate { /// <summary> - /// The main runtime interface between a Java application and Hibernate. This is the central + /// The main runtime interface between a .NET application and NHibernate. This is the central /// API class abstracting the notion of a persistence service. /// </summary> /// <remarks> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-13 22:32:40
|
Revision: 4607 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4607&view=rev Author: fabiomaulo Date: 2009-07-13 22:32:35 +0000 (Mon, 13 Jul 2009) Log Message: ----------- Adjust compilation and reference manual images Modified Paths: -------------- branches/2.1.x/nhibernate/default.build branches/2.1.x/nhibernate/doc/reference/master.xml branches/2.1.x/nhibernate/doc/reference/modules/architecture.xml branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml branches/2.1.x/nhibernate/doc/reference/styles/fopdf.xsl branches/2.1.x/nhibernate/src/NHibernate/ISession.cs Added Paths: ----------- branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.png branches/2.1.x/nhibernate/doc/reference/images/fullcream.png branches/2.1.x/nhibernate/doc/reference/images/lite.png branches/2.1.x/nhibernate/doc/reference/images/overview.png Removed Paths: ------------- branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.gif branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.zargo branches/2.1.x/nhibernate/doc/reference/images/full_cream.gif branches/2.1.x/nhibernate/doc/reference/images/full_cream.svg branches/2.1.x/nhibernate/doc/reference/images/hibernate_logo_a.png branches/2.1.x/nhibernate/doc/reference/images/lite.gif branches/2.1.x/nhibernate/doc/reference/images/lite.svg branches/2.1.x/nhibernate/doc/reference/images/overview.gif branches/2.1.x/nhibernate/doc/reference/images/overview.svg Modified: branches/2.1.x/nhibernate/default.build =================================================================== --- branches/2.1.x/nhibernate/default.build 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/default.build 2009-07-13 22:32:35 UTC (rev 4607) @@ -149,6 +149,11 @@ description="Builds the Help Documentation and the API documentation"> <nant buildfile="doc/documentation.build" target="api manual" /> </target> + + <target name="manual" depends="init binaries" + description="Builds the Help Documentation"> + <nant buildfile="doc/documentation.build" target="manual" /> + </target> <target name="build-all-frameworks" depends="init"> <!-- Save the current framework --> @@ -291,8 +296,8 @@ <target name="installer" depends="init binaries doc prepare-installer-files"> <nant buildfile="src/NHibernate.Setup/NHibernate.Setup.build" target="msi" /> </target> - - <target name="package" depends="init test-all-frameworks binaries doc sources-zip binaries-zip installer" + + <target name="package" depends="init set-release-project-configuration test binaries manual sources-zip binaries-zip" description="Creates files for the File Release System on SourceForge"> <property name="dist.output.dir" value="${project::get-base-directory()}/build/" /> Deleted: branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.gif =================================================================== (Binary files differ) Added: branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/EmployerEmployee.zargo =================================================================== (Binary files differ) Deleted: branches/2.1.x/nhibernate/doc/reference/images/full_cream.gif =================================================================== (Binary files differ) Deleted: branches/2.1.x/nhibernate/doc/reference/images/full_cream.svg =================================================================== --- branches/2.1.x/nhibernate/doc/reference/images/full_cream.svg 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/images/full_cream.svg 2009-07-13 22:32:35 UTC (rev 4607) @@ -1,429 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="354.331" - height="336.614" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)" - style="font-size:12;" - id="g659"> - <rect - width="212.257" - height="57.2441" - x="17.9576" - y="100.132" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - transform="matrix(0.743454,0,0,0.482981,6.46949,52.2178)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <rect - width="325.86" - height="63.6537" - x="17.4083" - y="15.194" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="325.86" - height="63.6537" - x="13.6713" - y="12.4966" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - <g - transform="matrix(1.14345,0,0,0.729078,-1.67818,105.325)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <text - x="170.824753" - y="58.402939" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="170.824997" - y="58.402901" - id="tspan360"> -Application</tspan> - </text> - <text - x="178.076340" - y="364.281433" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="178.076004" - y="364.281006" - id="tspan421"> -Database</tspan> - </text> - <text - x="68.605331" - y="138.524582" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="68.605301" - y="138.524994" - id="tspan384"> -SessionFactory</tspan> - </text> - <rect - width="67.0014" - height="101.35" - x="196.927" - y="89.2389" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect387" /> - <rect - width="67.0014" - height="101.35" - x="194.633" - y="86.4389" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect388" /> - <text - x="249.108841" - y="173.885559" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text389"> - <tspan - x="249.108994" - y="173.886002" - id="tspan392"> -Session</tspan> - </text> - <rect - width="73.0355" - height="101.35" - x="270.995" - y="90.0018" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect395" /> - <rect - width="73.0355" - height="101.35" - x="267.869" - y="87.2018" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect396" /> - <text - x="328.593658" - y="174.715622" - transform="scale(0.823795,0.823795)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text397"> - <tspan - x="328.593994" - y="174.716003" - id="tspan563"> -Transaction</tspan> - </text> - <g - transform="matrix(0.29544,0,0,0.397877,9.70533,103.96)" - style="font-size:12;" - id="g565"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect566" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect567" /> - </g> - <text - x="25.592752" - y="204.497803" - transform="scale(0.823795,0.823795)" - style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text568"> - <tspan - x="25.592800" - y="204.498001" - id="tspan662"> -TransactionFactory</tspan> - </text> - <g - transform="matrix(0.298082,0,0,0.397877,99.6898,103.96)" - style="font-size:12;" - id="g573"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect574" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect575" /> - </g> - <text - x="134.030670" - y="205.532791" - transform="scale(0.823795,0.823795)" - style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text576"> - <tspan - x="134.031006" - y="205.533005" - id="tspan664"> -ConnectionProvider</tspan> - </text> - <g - transform="matrix(1.14345,0,0,0.729078,-1.67818,38.9539)" - style="font-size:12;" - id="g587"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect588" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect589" /> - </g> - <rect - width="90.951" - height="44.4829" - x="25.6196" - y="206.028" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect594" /> - <rect - width="90.951" - height="44.4829" - x="24.4229" - y="204.135" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect595" /> - <text - x="85.575645" - y="282.300354" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text596"> - <tspan - x="85.575600" - y="282.299988" - id="tspan607"> -JNDI</tspan> - </text> - <rect - width="90.951" - height="44.4829" - x="236.937" - y="206.791" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect610" /> - <rect - width="90.951" - height="44.4829" - x="235.741" - y="204.898" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect611" /> - <text - x="342.093201" - y="283.226410" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text612"> - <tspan - x="342.092987" - y="283.226013" - id="tspan621"> -JTA</tspan> - </text> - <rect - width="90.951" - height="44.4829" - x="130.134" - y="206.791" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect616" /> - <rect - width="90.951" - height="44.4829" - x="128.937" - y="204.898" - style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;" - id="rect617" /> - <text - x="212.445343" - y="283.226410" - transform="scale(0.823795,0.823795)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text618"> - <tspan - x="212.445007" - y="283.226013" - id="tspan623"> -JDBC</tspan> - </text> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,6.19341)" - style="font-size:12;" - id="g637"> - <g - transform="matrix(0.499515,0,0,0.415467,-0.237339,5.61339)" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="33.749969" - y="50.589706" - style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="33.750000" - y="50.589699" - id="tspan635"> -Transient Objects</tspan> - </text> - </g> - <g - transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)" - style="font-size:12;" - id="g644"> - <g - transform="matrix(0.297486,0,0,0.516482,230.251,36.9178)" - id="g364"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect365" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect366" /> - </g> - <text - x="277.123230" - y="85.155571" - style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text367"> - <tspan - x="277.122986" - y="85.155602" - id="tspan631"> -Persistent</tspan> - <tspan - x="277.122986" - y="96.155602" - id="tspan633"> -Objects</tspan> - </text> - </g> -</svg> Added: branches/2.1.x/nhibernate/doc/reference/images/fullcream.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/fullcream.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/hibernate_logo_a.png =================================================================== (Binary files differ) Deleted: branches/2.1.x/nhibernate/doc/reference/images/lite.gif =================================================================== (Binary files differ) Added: branches/2.1.x/nhibernate/doc/reference/images/lite.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/lite.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/lite.svg =================================================================== --- branches/2.1.x/nhibernate/doc/reference/images/lite.svg 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/images/lite.svg 2009-07-13 22:32:35 UTC (rev 4607) @@ -1,334 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="318.898" - height="248.031" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <rect - width="291.837" - height="57.0074" - x="17.3169" - y="18.646" - style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="291.837" - height="57.0074" - x="13.9703" - y="16.2302" - style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - <g - transform="matrix(0.326107,0,0,0.765831,9.59261,8.98517)" - style="font-size:12;" - id="g161"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <g - transform="matrix(1.02406,0,0,0.652953,0.223384,39.9254)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <g - transform="matrix(0.449834,0,0,0.338463,-3.15909,9.73319)" - style="font-size:12;" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="302.277679" - y="65.943230" - transform="scale(0.73778,0.73778)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="302.277954" - y="65.943184" - id="tspan360"> -Application</tspan> - </text> - <text - x="36.235924" - y="63.796055" - transform="scale(0.73778,0.73778)" - style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="36.235950" - y="63.796051" - id="tspan427"> -Transient Objects</tspan> - </text> - <text - x="180.416245" - y="290.543701" - transform="scale(0.73778,0.73778)" - style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="180.415939" - y="290.543549" - id="tspan421"> -Database</tspan> - </text> - <text - x="25.037701" - y="179.154755" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="25.037655" - y="179.154648" - id="tspan384"> -SessionFactory</tspan> - </text> - <g - transform="matrix(0.252763,0,0,0.765831,109.104,8.98517)" - style="font-size:12;" - id="g386"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect387" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect388" /> - </g> - <g - transform="matrix(0.297394,0,0,0.572692,101.502,21.6359)" - style="font-size:12;" - id="g364"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect365" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect366" /> - </g> - <text - x="202.746506" - y="102.992203" - transform="scale(0.73778,0.73778)" - style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;" - id="text367"> - <tspan - x="202.746948" - y="102.992249" - id="tspan423"> -Persistent</tspan> - <tspan - x="202.746948" - y="116.992355" - id="tspan425"> -Objects</tspan> - </text> - <text - x="174.458496" - y="180.080795" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text389"> - <tspan - x="174.458618" - y="180.080338" - id="tspan392"> -Session</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,188.675,8.98517)" - style="font-size:12;" - id="g394"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect395" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect396" /> - </g> - <text - x="260.413269" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text397"> - <tspan - x="260.412964" - y="179.154343" - id="tspan400"> -JDBC</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,229.156,8.98517)" - style="font-size:12;" - id="g405"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect406" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect407" /> - </g> - <text - x="320.606903" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text408"> - <tspan - x="320.606964" - y="179.154343" - id="tspan417"> -JNDI</tspan> - </text> - <g - transform="matrix(0.127369,0,0,0.765831,269.281,8.98517)" - style="font-size:12;" - id="g411"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect412" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect413" /> - </g> - <text - x="377.096313" - y="179.154739" - transform="scale(0.73778,0.73778)" - style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text414"> - <tspan - x="377.096008" - y="179.154999" - id="tspan145"> -JTA</tspan> - </text> -</svg> Deleted: branches/2.1.x/nhibernate/doc/reference/images/overview.gif =================================================================== (Binary files differ) Added: branches/2.1.x/nhibernate/doc/reference/images/overview.png =================================================================== (Binary files differ) Property changes on: branches/2.1.x/nhibernate/doc/reference/images/overview.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/2.1.x/nhibernate/doc/reference/images/overview.svg =================================================================== --- branches/2.1.x/nhibernate/doc/reference/images/overview.svg 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/images/overview.svg 2009-07-13 22:32:35 UTC (rev 4607) @@ -1,250 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" -"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" -[ - <!ATTLIST svg - xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> -]> -<!-- Created with Sodipodi ("http://www.sodipodi.com/") --> -<svg - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - width="248.031" - height="248.031" - id="svg1"> - <defs - id="defs3"> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad"> - <stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop128" /> - <stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop129" /> - </linearGradient> - <linearGradient - x1="0" - y1="0" - x2="1" - y2="0" - id="linearGradient130" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - <radialGradient - cx="0.5" - cy="0.5" - fx="0.5" - fy="0.5" - r="0.5" - id="radialGradient131" - xlink:href="#linearGradient127" - gradientUnits="objectBoundingBox" - spreadMethod="pad" /> - </defs> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,-3.02123)" - style="font-size:12;" - id="g158"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="17.3527" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect136" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="15.3883" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect126" /> - </g> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,3.04452)" - style="font-size:12;" - id="g161"> - <rect - width="285.502" - height="118.523" - x="16.6979" - y="99.2053" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect137" /> - <rect - width="285.502" - height="118.523" - x="13.4238" - y="95.9309" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect132" /> - </g> - <g - transform="matrix(0.771934,0,0,0.771934,4.36019,8.0993)" - style="font-size:12;" - id="g164"> - <rect - width="285.502" - height="77.2688" - x="16.6979" - y="222.966" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect138" /> - <rect - width="285.502" - height="77.2688" - x="14.7335" - y="221.002" - transform="translate(-1.30962,-1.30992)" - style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;" - id="rect133" /> - </g> - <g - transform="matrix(0.771934,0,0,0.543505,2.59104,21.1103)" - style="font-size:12;" - id="g167"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect134" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect135" /> - </g> - <text - x="105.392174" - y="56.568123" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text183"> - <tspan - x="105.392273" - y="56.568146" - id="tspan186"> -Application</tspan> - </text> - <text - x="81.820183" - y="103.149330" - transform="scale(0.771934,0.771934)" - style="font-size:20;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text188"> - <tspan - x="81.820213" - y="103.149727" - id="tspan206"> -Persistent Objects</tspan> - </text> - <text - x="111.548180" - y="278.927887" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text197"> - <tspan - x="111.547874" - y="278.927551" - id="tspan200"> -Database</tspan> - </text> - <text - x="94.436180" - y="153.805740" - transform="scale(0.771934,0.771934)" - style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;" - id="text216"> - <tspan - x="94.436180" - y="153.805740" - id="tspan221"> -HIBERNATE</tspan> - </text> - <g - transform="matrix(0.771934,0,0,0.771934,2.59083,1.02261)" - style="font-size:12;" - id="g254"> - <g - transform="translate(4.58374,2.61928)" - id="g176"> - <g - transform="matrix(0.571429,0,0,0.67347,-10.6174,117.093)" - id="g170"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect171" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect172" /> - </g> - <g - transform="matrix(0.571429,0,0,0.67347,138.682,117.093)" - id="g173"> - <rect - width="199.065" - height="61.5532" - x="61.8805" - y="68.4288" - style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;" - id="rect174" /> - <rect - width="199.065" - height="61.5532" - x="59.2613" - y="65.8095" - style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;" - id="rect175" /> - </g> - </g> - <text - x="47.259438" - y="182.367538" - style="font-weight:bold;stroke-width:1pt;font-family:Courier;" - id="text191"> - <tspan - x="47.259399" - y="182.367996" - id="tspan212"> -hibernate.</tspan> - <tspan - x="47.259399" - y="194.367996" - id="tspan214"> -properties</tspan> - </text> - <text - x="198.523010" - y="188.260941" - style="font-weight:normal;stroke-width:1pt;font-family:helvetica;" - id="text194"> - <tspan - id="tspan195"> -XML Mapping</tspan> - </text> - </g> -</svg> Modified: branches/2.1.x/nhibernate/doc/reference/master.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/master.xml 2009-07-13 22:32:35 UTC (rev 4607) @@ -36,7 +36,7 @@ <bookinfo> <title>NHibernate - Relational Persistence for Idiomatic .NET</title> <subtitle>NHibernate Reference Documentation</subtitle> - <releaseinfo>2.0.0</releaseinfo> + <releaseinfo>2.1.0</releaseinfo> </bookinfo> <toc /> Modified: branches/2.1.x/nhibernate/doc/reference/modules/architecture.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/architecture.xml 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/modules/architecture.xml 2009-07-13 22:32:35 UTC (rev 4607) @@ -11,13 +11,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/overview.svg" format="SVG" align="center"/> + <imagedata fileref="images/overview.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/overview.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/overview.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/overview.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/overview.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -36,13 +36,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/lite.svg" format="SVG" align="center"/> + <imagedata fileref="images/lite.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/lite.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/lite.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/lite.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/lite.png" format="PNG" align="center"/> </imageobject> </mediaobject> @@ -53,13 +53,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/full_cream.svg" format="SVG" align="center"/> + <imagedata fileref="images/fullcream.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/full_cream.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/fullcream.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/full_cream.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/fullcream.png" format="PNG" align="center"/> </imageobject> </mediaobject> Modified: branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml =================================================================== --- branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/modules/example_mappings.xml 2009-07-13 22:32:35 UTC (rev 4607) @@ -18,13 +18,13 @@ <mediaobject> <imageobject role="fo"> - <imagedata fileref="images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> <imageobject role="html"> - <imagedata fileref="../shared/images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="../shared/images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> <imageobject role="chm"> - <imagedata fileref="shared/images/EmployerEmployee.gif" format="GIF" align="center"/> + <imagedata fileref="shared/images/EmployerEmployee.png" format="PNG" align="center"/> </imageobject> </mediaobject> Modified: branches/2.1.x/nhibernate/doc/reference/styles/fopdf.xsl =================================================================== --- branches/2.1.x/nhibernate/doc/reference/styles/fopdf.xsl 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/doc/reference/styles/fopdf.xsl 2009-07-13 22:32:35 UTC (rev 4607) @@ -41,7 +41,7 @@ <fo:table-row> <fo:table-cell text-align="center"> <fo:block> - <fo:external-graphic src="file:images/hibernate_logo_a.png"/> + <fo:external-graphic src="file:images/nhibernate_logo_a.png"/> </fo:block> <fo:block font-family="Helvetica" font-size="22pt" padding-before="10mm"> <xsl:value-of select="bookinfo/subtitle"/> Modified: branches/2.1.x/nhibernate/src/NHibernate/ISession.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate/ISession.cs 2009-07-13 18:32:18 UTC (rev 4606) +++ branches/2.1.x/nhibernate/src/NHibernate/ISession.cs 2009-07-13 22:32:35 UTC (rev 4607) @@ -8,7 +8,7 @@ namespace NHibernate { /// <summary> - /// The main runtime interface between a Java application and Hibernate. This is the central + /// The main runtime interface between a .NET application and NHibernate. This is the central /// API class abstracting the notion of a persistence service. /// </summary> /// <remarks> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-13 18:32:30
|
Revision: 4606 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4606&view=rev Author: fabiomaulo Date: 2009-07-13 18:32:18 +0000 (Mon, 13 Jul 2009) Log Message: ----------- Merge r4605 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs 2009-07-13 18:28:33 UTC (rev 4605) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs 2009-07-13 18:32:18 UTC (rev 4606) @@ -20,7 +20,6 @@ } [Test] - [Ignore("Not completely fixed yet.")] public void CanMakeCriteriaQueryAcrossBothAssociations() { AssertDialect(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-07-13 18:28:35
|
Revision: 4605 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4605&view=rev Author: fabiomaulo Date: 2009-07-13 18:28:33 +0000 (Mon, 13 Jul 2009) Log Message: ----------- Was fixed in some moment Modified Paths: -------------- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs Modified: branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs 2009-07-13 08:45:12 UTC (rev 4604) +++ branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1027/Fixture.cs 2009-07-13 18:28:33 UTC (rev 4605) @@ -20,7 +20,6 @@ } [Test] - [Ignore("Not completely fixed yet.")] public void CanMakeCriteriaQueryAcrossBothAssociations() { AssertDialect(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: LETER F. V. C. C. <bar...@si...> - 2009-07-13 12:23:29
|
FROM BARRISTER BRIAN HALL (QC) 42 HUGOS STREET LONDON TY1N 7SB DX ORALLY AVE UNITED KINGDOM. TEL: +44 703 1917170. FAX+44 700 5931 526 HELLO, I WORK WITH VANS COURT CHAMBERS - LONDON IN THE UNITED KINGDOM. I GOT YOUR CONTACT THROUGH PUBLIC SECTOR INFORMATION. THERE IS A POSSIBILITY THAT YOU MAY BE RELATED TO MY LATE CLIENT, A NATIONAL FROM YOUR COUNTRY WHOM I OWE A LEGAL OBLIGATION. IF YOU ARE NOT, I MAY STILL BE ABLE TO WORK OUT MODALITIES FOR TRANSFERRING HIS ESTATES STILL UNDER MY CUSTODY AND FUNDS STILL DEPOSITED IN A FINANCIAL INSTITUTION IN YOUR NAME AS BENEFICIARY SO ALL HEREDITY MAY BE IN YOUR FAVOR. IF YOU CAN STAND AS BENEFICIARY, I WILL PRONOUNCE YOU AS THE LEGAL BENEFICIARY AND PROCESS CHANGE OF OWNERSHIP STATUS TO ENABLE THE FUNDS AND ESTATES BE TRANSFERRED TO YOUR NAME; IN THIS CASE, I WILL HAVE TO COME INTO A DIRECT ARRANGEMENT AND SPLIT THE FUNDS WHEN RELEASED TO YOU ON A FIFTY-FIFTY BASIS. THE DETAILED TOTAL AMOUNT IN DEPOSIT AND ESTATES CANNOT BE STATED IN THIS MAIL UNTIL YOU WILL PROVIDE A MORE DIRECT MEANS OF COMMUNICATING BY EITHER FAX OR PHONE SO WE CAN BE SURE TO GO INTO THE CLAIMS ARRANGEMENT. I WANT TO INSIST THAT I TRANSACT WITH YOU DIRECTLY, SO DO PROVIDE YOUR NUMBER AND I SHALL CALL YOU IMMEDIATELY I RECEIVE YOUR RESPONSE AND PROVIDE YOU WITH THE DETAILS. I EXPECT YOU TO INDICATE YOUR INTEREST IN GOING FURTHER. SINCERELY, FROM BARRISTER BRIAN HALL (QC) 42 HUGOS STREET LONDON TY1N 7SB DX ORALLY AVE UNITED KINGDOM. TEL: +44 703 1917170. FAX+44 700 5931 526 |
From: <ric...@us...> - 2009-07-13 08:45:16
|
Revision: 4604 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4604&view=rev Author: ricbrown Date: 2009-07-13 08:45:12 +0000 (Mon, 13 Jul 2009) Log Message: ----------- Migrated ExpressionProcessor tests from lambda extensions. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs Added: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/ExpressionProcessorFixture.cs 2009-07-13 08:45:12 UTC (rev 4604) @@ -0,0 +1,104 @@ + +using System; +using System.Linq.Expressions; + +using NHibernate.Criterion; +using NHibernate.Impl; + +using NUnit.Framework; + +namespace NHibernate.Test.Criteria.Lambda +{ + + [TestFixture] + public class TestExpressionProcessor + { + + [Test] + public void TestFindMemberExpressionReference() + { + Expression<Func<Person, string>> e = (Person p) => p.Name; + string property = ExpressionProcessor.FindMemberExpression(e.Body); + Assert.AreEqual("Name", property); + } + + [Test] + public void TestFindMemberExpressionValue() + { + Expression<Func<Person, object>> e = (Person p) => p.Age; + string property = ExpressionProcessor.FindMemberExpression(e.Body); + Assert.AreEqual("Age", property); + } + + [Test] + public void TestEvaluatePropertyExpression() + { + string testName = "testName"; + ICriterion criterion = ExpressionProcessor.ProcessExpression<Person>(p => p.Name == testName); + SimpleExpression simpleExpression = (SimpleExpression)criterion; + Assert.AreEqual("testName", simpleExpression.Value); + } + + [Test] + public void TestEvaluateNullPropertyExpression() + { + Person person = new Person() { Name = null }; + ICriterion criterion = ExpressionProcessor.ProcessExpression<Person>(p => p.Name == person.Name); + SimpleExpression simpleExpression = (SimpleExpression)criterion; + Assert.AreEqual(null, simpleExpression.Value); + } + + [Test] + public void TestEvaluateStaticPropertyExpression() + { + Person.StaticName = "test name"; + ICriterion criterion = ExpressionProcessor.ProcessExpression<Person>(p => p.Name == Person.StaticName); + SimpleExpression simpleExpression = (SimpleExpression)criterion; + Assert.AreEqual("test name", simpleExpression.Value); + } + + [Test] + public void TestEvaluateEnumeration() + { + ICriterion before = Restrictions.Eq("Gender", PersonGender.Female); + ICriterion after = ExpressionProcessor.ProcessExpression<Person>(p => p.Gender == PersonGender.Female); + Assert.AreEqual(before.ToString(), after.ToString()); + } + + [Test] + public void TestEvaluateSubclass() + { + Person person = new CustomPerson(); + ICriterion before = Restrictions.Eq("Father", person); + ICriterion after = ExpressionProcessor.ProcessExpression<Person>(p => p.Father == person); + Assert.AreEqual(before.ToString(), after.ToString()); + } + + [Test] + public void TestEvaluateMemberExpression() + { + Person testPerson = new Person(); + testPerson.Name = "testName"; + ICriterion criterion = ExpressionProcessor.ProcessExpression<Person>(p => p.Name == testPerson.Name); + SimpleExpression simpleExpression = (SimpleExpression)criterion; + Assert.AreEqual("testName", simpleExpression.Value); + } + + [Test] + public void TestEvaluateBooleanMemberExpression() + { + { + ICriterion before = Restrictions.Eq("IsParent", true); + ICriterion after = ExpressionProcessor.ProcessExpression<Person>(p => p.IsParent); + Assert.AreEqual(before.ToString(), after.ToString()); + } + { + ICriterion before = Restrictions.Eq("IsParent", false); + ICriterion after = ExpressionProcessor.ProcessExpression<Person>(p => !p.IsParent); + Assert.AreEqual(before.ToString(), after.ToString()); + } + } + + } + +} Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2009-07-09 22:41:46 UTC (rev 4603) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/Lambda/Model.cs 2009-07-13 08:45:12 UTC (rev 4604) @@ -5,18 +5,30 @@ namespace NHibernate.Test.Criteria.Lambda { + public enum PersonGender + { + Male = 1, + Female = 2, + } + public class Person { + public static string StaticName; + public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual int Age { get; set; } + public virtual PersonGender Gender { get; set; } public virtual int Height { get; set; } public virtual bool HasCar { get; set; } public virtual Person Father { get; set; } + public virtual bool IsParent { get; set; } public virtual IEnumerable<Child> Children { get; set; } } + public class CustomPerson : Person { } + public class Child { public virtual int Id { get; set; } Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-07-09 22:41:46 UTC (rev 4603) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-07-13 08:45:12 UTC (rev 4604) @@ -147,6 +147,7 @@ <Compile Include="Criteria\DetachedCriteriaSerializable.cs" /> <Compile Include="Criteria\Enrolment.cs" /> <Compile Include="Criteria\Lambda\CriteriaAssertFixture.cs" /> + <Compile Include="Criteria\Lambda\ExpressionProcessorFixture.cs" /> <Compile Include="Criteria\Lambda\QueryOverFixture.cs" /> <Compile Include="Criteria\Lambda\IntegrationFixture.cs" /> <Compile Include="Criteria\Lambda\LambdaFixtureBase.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2009-07-09 22:41:54
|
Revision: 4603 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4603&view=rev Author: ricbrown Date: 2009-07-09 22:41:46 +0000 (Thu, 09 Jul 2009) Log Message: ----------- Corrected compiler warnings on comments. Modified Paths: -------------- trunk/nhibernate/src/NHibernate/IQueryOver.cs Modified: trunk/nhibernate/src/NHibernate/IQueryOver.cs =================================================================== --- trunk/nhibernate/src/NHibernate/IQueryOver.cs 2009-07-09 21:00:59 UTC (rev 4602) +++ trunk/nhibernate/src/NHibernate/IQueryOver.cs 2009-07-09 22:41:46 UTC (rev 4603) @@ -15,9 +15,9 @@ /// </summary> /// <remarks> /// <code> - /// IList<Cat> cats = session.QueryOver<Cat>() - /// .Add( c => c.Name == "Tigger" ) - /// .Add( c => c.Weight > minWeight ) ) + /// IList<Cat> cats = session.QueryOver<Cat>() + /// .Where( c => c.Name == "Tigger" ) + /// .And( c => c.Weight > minWeight ) ) /// .List(); /// </code> /// </remarks> @@ -55,8 +55,7 @@ /// <summary> /// Add order expressed as a lambda expression /// </summary> - /// <typeparam name="T">Type (same as criteria type)</typeparam> - /// <param name="expression">Lambda expression</param> + /// <param name="path">Lambda expression</param> /// <param name="orderDelegate">Order delegate (direction)</param> /// <returns>criteria instance</returns> IQueryOver<T> OrderBy(Expression<Func<T, object>> path, Func<string, Order> orderDelegate); @@ -64,8 +63,7 @@ /// <summary> /// Add order expressed as a lambda expression /// </summary> - /// <typeparam name="T">Type (same as criteria type)</typeparam> - /// <param name="expression">Lambda expression</param> + /// <param name="path">Lambda expression</param> /// <param name="orderDelegate">Order delegate (direction)</param> /// <returns>criteria instance</returns> IQueryOver<T> OrderBy(Expression<Func<object>> path, Func<string, Order> orderDelegate); @@ -73,8 +71,7 @@ /// <summary> /// Add order expressed as a lambda expression /// </summary> - /// <typeparam name="T">Type (same as criteria type)</typeparam> - /// <param name="expression">Lambda expression</param> + /// <param name="path">Lambda expression</param> /// <param name="orderDelegate">Order delegate (direction)</param> /// <returns>criteria instance</returns> IQueryOver<T> ThenBy(Expression<Func<T, object>> path, Func<string, Order> orderDelegate); @@ -82,8 +79,7 @@ /// <summary> /// Add order expressed as a lambda expression /// </summary> - /// <typeparam name="T">Type (same as criteria type)</typeparam> - /// <param name="expression">Lambda expression</param> + /// <param name="path">Lambda expression</param> /// <param name="orderDelegate">Order delegate (direction)</param> /// <returns>criteria instance</returns> IQueryOver<T> ThenBy(Expression<Func<object>> path, Func<string, Order> orderDelegate); @@ -110,6 +106,7 @@ /// </summary> /// <typeparam name="U">Type of sub-criteria</typeparam> /// <param name="path">Lambda expression returning association path</param> + /// <param name="joinType">Type of join</param> /// <returns>The created "sub criteria"</returns> IQueryOver<U> JoinQueryOver<U>(Expression<Func<T, U>> path, JoinType joinType); @@ -119,6 +116,7 @@ /// <typeparam name="U">Type of sub-criteria</typeparam> /// <param name="path">Lambda expression returning association path</param> /// <param name="alias">Lambda expression returning alias reference</param> + /// <param name="joinType">Type of join</param> /// <returns>The created "sub criteria"</returns> IQueryOver<U> JoinQueryOver<U>(Expression<Func<T, U>> path, Expression<Func<U>> alias, JoinType joinType); @@ -147,6 +145,7 @@ /// </summary> /// <typeparam name="U">Type of sub-criteria (type of the collection)</typeparam> /// <param name="path">Lambda expression returning association path</param> + /// <param name="joinType">Type of join</param> /// <returns>The created "sub criteria"</returns> IQueryOver<U> JoinQueryOver<U>(Expression<Func<T, IEnumerable<U>>> path, JoinType joinType); @@ -157,6 +156,7 @@ /// <typeparam name="U">Type of sub-criteria (type of the collection)</typeparam> /// <param name="path">Lambda expression returning association path</param> /// <param name="alias">Lambda expression returning alias reference</param> + /// <param name="joinType">Type of join</param> /// <returns>The created "sub criteria"</returns> IQueryOver<U> JoinQueryOver<U>(Expression<Func<T, IEnumerable<U>>> path, Expression<Func<U>> alias, JoinType joinType); @@ -173,6 +173,7 @@ /// </summary> /// <param name="path">Lambda expression returning association path</param> /// <param name="alias">Lambda expression returning alias reference</param> + /// <param name="joinType">Type of join</param> /// <returns>criteria instance</returns> IQueryOver<T> Join(Expression<Func<T, object>> path, Expression<Func<object>> alias, JoinType joinType); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |