| 
      
      
      From: <one...@us...> - 2003-02-02 07:02:34
      
     | 
| Update of /cvsroot/hibernate/Hibernate2/doc/reference/html
In directory sc8-pr-cvs1:/tmp/cvs-serv31456/reference/html
Modified Files:
	session-configuration.html 
Log Message:
fixed dialect class names
Index: session-configuration.html
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/doc/reference/html/session-configuration.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** session-configuration.html	28 Jan 2003 13:25:09 -0000	1.2
--- session-configuration.html	2 Feb 2003 07:02:31 -0000	1.3
***************
*** 6,10 ****
              relational database. These mappings are compiled from various XML mapping
              files. You may obtain a <tt>Configuration</tt> instance by
!             instantiating it directly. Heres an example of setting up a datastore from 
              mappings defined in two XML configuration files:
          </p><pre class="programlisting">Configuration cfg = new Configuration()
--- 6,10 ----
              relational database. These mappings are compiled from various XML mapping
              files. You may obtain a <tt>Configuration</tt> instance by
!             instantiating it directly. Heres an example of setting up a datastore from
              mappings defined in two XML configuration files:
          </p><pre class="programlisting">Configuration cfg = new Configuration()
***************
*** 36,42 ****
              using more than one database.
          </p><pre class="programlisting">SessionFactory sessions = cfg.buildSessionFactory();</pre></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="session-configuration-s3"></a>User provided JDBC connection</h2></div></div><p>
!             A <tt>SessionFactory</tt> may open a <tt>Session</tt> on 
!             a user-provided JDBC connection. This design choice frees the application to 
!             obtain JDBC connections wherever it pleases. The application must be careful 
              not to open two concurrent sessions on the same connection.
          </p><pre class="programlisting">java.sql.Connection conn = datasource.getConnection();
--- 36,42 ----
              using more than one database.
          </p><pre class="programlisting">SessionFactory sessions = cfg.buildSessionFactory();</pre></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="session-configuration-s3"></a>User provided JDBC connection</h2></div></div><p>
!             A <tt>SessionFactory</tt> may open a <tt>Session</tt> on
!             a user-provided JDBC connection. This design choice frees the application to
!             obtain JDBC connections wherever it pleases. The application must be careful
              not to open two concurrent sessions on the same connection.
          </p><pre class="programlisting">java.sql.Connection conn = datasource.getConnection();
***************
*** 68,72 ****
                      <tt>hibernate.cfg.xml</tt> (see below).
                  </p></li></ol></div><p>
!             Hibernate will obtain (and pool) connections using <tt>java.sql.DriverManager</tt> 
              if you set the following properties:
          </p><div class="itemizedlist"><ul type="disc"><li><p>
--- 68,72 ----
                      <tt>hibernate.cfg.xml</tt> (see below).
                  </p></li></ol></div><p>
!             Hibernate will obtain (and pool) connections using <tt>java.sql.DriverManager</tt>
              if you set the following properties:
          </p><div class="itemizedlist"><ul type="disc"><li><p>
***************
*** 89,93 ****
                      level (optional)</i></span>
                  </p></li><li><p>
!                     <tt>hibernate.connection.xxxx</tt> = <span class="emphasis"><i>pass the JDBC property 
                      <tt>xxxx</tt> to <tt>DriverManager.getConnection()</tt></i></span>
                  </p></li></ul></div><p>
--- 89,93 ----
                      level (optional)</i></span>
                  </p></li><li><p>
!                     <tt>hibernate.connection.xxxx</tt> = <span class="emphasis"><i>pass the JDBC property
                      <tt>xxxx</tt> to <tt>DriverManager.getConnection()</tt></i></span>
                  </p></li></ul></div><p>
***************
*** 123,134 ****
          </p><p>
              There is also built-in support for Apache DBCP connection pooling. You must set the
!             properties <tt>hibernate.dbcp.*</tt> (DBCP connection pool properties) and 
!             <tt>hibernate.dbcp.ps.*</tt> (DBCP statement cache properties) to enable 
!             <tt>DBCPConnectionProvider</tt>. Please refer the the Apache commons-pool 
              documentation for the interpretation of these properties. All Hibernate property
              names are defined on the class <tt>net.sf.hibernate.Environment</tt>.
          </p><p>
              For use inside an application server, Hibernate may obtain connections from a
!             <tt>javax.sql.Datasource</tt> registered in JNDI. Set the following 
              properties:
          </p><div class="itemizedlist"><ul type="disc"><li><p>
--- 123,134 ----
          </p><p>
              There is also built-in support for Apache DBCP connection pooling. You must set the
!             properties <tt>hibernate.dbcp.*</tt> (DBCP connection pool properties) and
!             <tt>hibernate.dbcp.ps.*</tt> (DBCP statement cache properties) to enable
!             <tt>DBCPConnectionProvider</tt>. Please refer the the Apache commons-pool
              documentation for the interpretation of these properties. All Hibernate property
              names are defined on the class <tt>net.sf.hibernate.Environment</tt>.
          </p><p>
              For use inside an application server, Hibernate may obtain connections from a
!             <tt>javax.sql.Datasource</tt> registered in JNDI. Set the following
              properties:
          </p><div class="itemizedlist"><ul type="disc"><li><p>
***************
*** 160,174 ****
                  This property is only necessary when using user supplied
                  connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
!                 or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with 
!                 Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name used by <tt>JTATransactionFactory</tt> to 
                  obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_lookup_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
                  when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
!                 listed here, your Hibernate queries need not specify the full class name of a 
                  persistent class. (You can use <tt>from foo in class Foo</tt> as an
                  alternative to <tt>from foo in class eg.foo.Foo</tt>.)</td></tr><tr><td><tt>hibernate.query.substitutions</tt></td><td><tt>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</tt></td><td>mapping from tokens in Hibernate queries to SQL tokens ( tokens might be
                  function or literal names, for example )</td></tr><tr><td><tt>hibernate.show_sql</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>write all SQL statements to console ( as an alternative to use of the
                  logging functionality )</td></tr></tbody></table></div><p>
!             You should always set the <tt>hibernate.dialect</tt> property to the correct 
!             <tt>net.sf.hibernate.sql.Dialect</tt> subclass for your database. This is not 
              strictly essential unless you wish to use <tt>native</tt> or
              <tt>sequence</tt> primary key generation or pessimistic locking (
--- 160,174 ----
                  This property is only necessary when using user supplied
                  connections. Hibernate uses connection metadata otherwise.</td></tr><tr><td><tt>hibernate.jdbc.use_streams_for_binary</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>use streams when writing / reading <tt>binary</tt>
!                 or <tt>serializable</tt> types to / from JDBC</td></tr><tr><td><tt>hibernate.connection.provider_class</tt></td><td><tt>full.classname.of.ConnectionProvider</tt></td><td>classname of a custom <tt>ConnectionProvider</tt></td></tr><tr><td><tt>hibernate.transaction.factory_class</tt></td><td><tt>full.classname.of.TransactionFactory</tt></td><td>classname of a <tt>TransactionFactory</tt> to use with
!                 Hibernate Transaction API</td></tr><tr><td><tt>jta.UserTransaction</tt></td><td><tt>jndi/composite/name</tt></td><td>A JNDI name used by <tt>JTATransactionFactory</tt> to
                  obtain the JTA <tt>UserTransaction</tt></td></tr><tr><td><tt>hibernate.transaction.manager_lookup_class</tt></td><td><tt>full.classname.of.TransactionManagerLookup</tt></td><td>classname of a <tt>TransactionManagerLookup</tt> - needed
                  when JVM-level caching is enabled in a JTA environment</td></tr><tr><td><tt>hibernate.query.imports</tt></td><td><tt>package.name, other.package.name</tt></td><td>A list of packages containing persistent classes. If the package is
!                 listed here, your Hibernate queries need not specify the full class name of a
                  persistent class. (You can use <tt>from foo in class Foo</tt> as an
                  alternative to <tt>from foo in class eg.foo.Foo</tt>.)</td></tr><tr><td><tt>hibernate.query.substitutions</tt></td><td><tt>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</tt></td><td>mapping from tokens in Hibernate queries to SQL tokens ( tokens might be
                  function or literal names, for example )</td></tr><tr><td><tt>hibernate.show_sql</tt></td><td><tt>true</tt> | <tt>false</tt></td><td>write all SQL statements to console ( as an alternative to use of the
                  logging functionality )</td></tr></tbody></table></div><p>
!             You should always set the <tt>hibernate.dialect</tt> property to the correct
!             <tt>net.sf.hibernate.dialect.Dialect</tt> subclass for your database. This is not
              strictly essential unless you wish to use <tt>native</tt> or
              <tt>sequence</tt> primary key generation or pessimistic locking (
***************
*** 178,182 ****
          </p><p>
              The following table displays possible values for <tt>hibernate.dialect</tt>.
!         </p><table class="simplelist" border="0" summary="Simple list"><tr><td>DB2</td><td><tt>net.sf.hibernate.sql.DB2Dialect</tt></td></tr><tr><td>MySQL</td><td><tt>net.sf.hibernate.sql.MySQLDialect</tt></td></tr><tr><td>SAP DB</td><td><tt>net.sf.hibernate.sql.SAPDBDialect</tt></td></tr><tr><td>Oracle</td><td><tt>net.sf.hibernate.sql.OracleDialect</tt></td></tr><tr><td>Sybase</td><td><tt>net.sf.hibernate.sql.SybaseDialect</tt></td></tr><tr><td>Progress</td><td><tt>net.sf.hibernate.sql.ProgressDialect</tt></td></tr><tr><td>Mckoi SQL</td><td><tt>net.sf.hibernate.sql.McKoiDialect</tt></td></tr><tr><td>Interbase</td><td><tt>net.sf.hibernate.sql.InterbaseDialect</tt></td></tr><tr><td>Pointbase</td><td><tt>net.sf.hibernate.sql.PointbaseDialect</tt></td></tr><tr><td>PostgreSQL</td><td><tt>net.sf.hibernate.sql.PostgreSQLDialect</tt></td></tr><tr><td>HypersonicSQL</td><td><tt>net.sf.hibernate.sql.HSQLDialect</tt></td></tr><tr><td>Microsoft SQL Server</td><td><tt>net.sf.hibernate.sql.SybaseDialect</tt></td></tr></table><p>
              If your database supports ANSI or Oracle style outerjoins, <span class="emphasis"><i>outer join
              fetching</i></span> might increase performance by limiting the number of round
--- 178,182 ----
          </p><p>
              The following table displays possible values for <tt>hibernate.dialect</tt>.
!         </p><table class="simplelist" border="0" summary="Simple list"><tr><td>DB2</td><td><tt>net.sf.hibernate.dialect.DB2Dialect</tt></td></tr><tr><td>MySQL</td><td><tt>net.sf.hibernate.dialect.MySQLDialect</tt></td></tr><tr><td>SAP DB</td><td><tt>net.sf.hibernate.dialect.SAPDBDialect</tt></td></tr><tr><td>Oracle</td><td><tt>net.sf.hibernate.dialect.OracleDialect</tt></td></tr><tr><td>Sybase</td><td><tt>net.sf.hibernate.dialect.SybaseDialect</tt></td></tr><tr><td>Progress</td><td><tt>net.sf.hibernate.dialect.ProgressDialect</tt></td></tr><tr><td>Mckoi SQL</td><td><tt>net.sf.hibernate.dialect.McKoiDialect</tt></td></tr><tr><td>Interbase</td><td><tt>net.sf.hibernate.dialect.InterbaseDialect</tt></td></tr><tr><td>Pointbase</td><td><tt>net.sf.hibernate.dialect.PointbaseDialect</tt></td></tr><tr><td>PostgreSQL</td><td><tt>net.sf.hibernate.dialect.PostgreSQLDialect</tt></td></tr><tr><td>HypersonicSQL</td><td><tt>net.sf.hibernate.dialect.HSQLDialect</tt></td></tr><tr><td>Microsoft SQL Server</td><td><tt>net.sf.hibernate.dialect.SybaseDialect</tt></td></tr></table><p>
              If your database supports ANSI or Oracle style outerjoins, <span class="emphasis"><i>outer join
              fetching</i></span> might increase performance by limiting the number of round
***************
*** 190,201 ****
              Oracle limits the size of <tt>byte</tt> arrays that may
              be passed to/from its JDBC driver. If you wish to use large instances of
!             <tt>binary</tt> or <tt>serializable</tt> type, you should 
              enable <tt>hibernate.jdbc.use_streams_for_binary</tt>.
              <span class="emphasis"><i>This is a JVM-level setting only.</i></span>
          </p><p>
!             <tt>hibernate.show_sql</tt> forces Hibernate to write SQL statements 
              to the console. This is provided as an easy alternative to enabling logging.
          </p><p>
!             You may define your own plugin strategy for obtaining JDBC connections by 
              implementing the interface
              <tt>net.sf.hibernate.connection.ConnectionProvider</tt>.
--- 190,201 ----
              Oracle limits the size of <tt>byte</tt> arrays that may
              be passed to/from its JDBC driver. If you wish to use large instances of
!             <tt>binary</tt> or <tt>serializable</tt> type, you should
              enable <tt>hibernate.jdbc.use_streams_for_binary</tt>.
              <span class="emphasis"><i>This is a JVM-level setting only.</i></span>
          </p><p>
!             <tt>hibernate.show_sql</tt> forces Hibernate to write SQL statements
              to the console. This is provided as an easy alternative to enabling logging.
          </p><p>
!             You may define your own plugin strategy for obtaining JDBC connections by
              implementing the interface
              <tt>net.sf.hibernate.connection.ConnectionProvider</tt>.
***************
*** 203,209 ****
              <tt>hibernate.connection.provider_class</tt>.
          </p><p>
!             If you wish to use the Hibernate <tt>Transaction</tt> API, you must 
              specify a factory class for <tt>Transaction</tt> instances by
!             setting the property <tt>hibernate.transaction.factory_class</tt>. 
              There are two standard (built-in) choices:
          </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>net.sf.hibernate.transaction.JDBCTransactionFactory</tt></td><td>delegates to database (JDBC) transactions</td></tr><tr><td><tt>net.sf.hibernate.transaction.JTATransactionFactory</tt></td><td>delegates to JTA (if an existing transaction is underway, the <tt>Session</tt>
--- 203,209 ----
              <tt>hibernate.connection.provider_class</tt>.
          </p><p>
!             If you wish to use the Hibernate <tt>Transaction</tt> API, you must
              specify a factory class for <tt>Transaction</tt> instances by
!             setting the property <tt>hibernate.transaction.factory_class</tt>.
              There are two standard (built-in) choices:
          </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>net.sf.hibernate.transaction.JDBCTransactionFactory</tt></td><td>delegates to database (JDBC) transactions</td></tr><tr><td><tt>net.sf.hibernate.transaction.JTATransactionFactory</tt></td><td>delegates to JTA (if an existing transaction is underway, the <tt>Session</tt>
***************
*** 214,234 ****
              a strategy for obtaining the JTA <tt>TransactionManager</tt>.
          </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>net.sf.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>net.sf.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>net.sf.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>net.sf.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr><tr><td><tt>net.sf.hibernate.transaction.ResinTransactionManagerLookup</tt></td><td>for Resin</td></tr></table><p>
!             If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify 
!             a name (eg. <tt>hibernate/session_factory</tt>) as using the property 
!             <tt>hibernate.session_factory_name</tt>. Then EJBs, for example, may obtain the 
              <tt>SessionFactory</tt> using a JNDI lookup. Hibernate will use
!             <tt>hibernate.jndi.url</tt>, <tt>hibernate.jndi.class</tt> to instantiate 
              an initial context.
          </p><p>
              You may define new Hibernate query tokens using <tt>hibernate.query.substitutions</tt>.
!             For example: 
!             <pre class="programlisting">hibernate.query.substitutions true=1, false=0</pre> 
!             would cause the tokens <tt>true</tt> and <tt>false</tt> to be translated to 
!             integer literals in the generated SQL. 
              <pre class="programlisting">hibernate.query.substitutions toLowercase=LOWER</pre>
              would allow you to rename the SQL <tt>lower</tt> function.
          </p></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="session-configuration-s6"></a>XML Configuration File</h2></div></div><p>
              An alternative approach is to specify a full configuration in a file named
!             <tt>hibernate.cfg.xml</tt>. The configuration file is expected to 
              be in the root of your |CLASSPATH|.
          </p><pre class="programlisting"><?xml version='1.0' encoding='utf-8'?>
--- 214,234 ----
              a strategy for obtaining the JTA <tt>TransactionManager</tt>.
          </p><table class="simplelist" border="0" summary="Simple list"><tr><td><tt>net.sf.hibernate.transaction.JBossTransactionManagerLookup</tt></td><td>for JBoss</td></tr><tr><td><tt>net.sf.hibernate.transaction.WeblogicTransactionManagerLookup</tt></td><td>for Weblogic</td></tr><tr><td><tt>net.sf.hibernate.transaction.WebSphereTransactionManagerLookup</tt></td><td>for WebSphere</td></tr><tr><td><tt>net.sf.hibernate.transaction.OrionTransactionManagerLookup</tt></td><td>for Orion</td></tr><tr><td><tt>net.sf.hibernate.transaction.ResinTransactionManagerLookup</tt></td><td>for Resin</td></tr></table><p>
!             If you wish to have the <tt>SessionFactory</tt> bound to a JNDI namespace, specify
!             a name (eg. <tt>hibernate/session_factory</tt>) as using the property
!             <tt>hibernate.session_factory_name</tt>. Then EJBs, for example, may obtain the
              <tt>SessionFactory</tt> using a JNDI lookup. Hibernate will use
!             <tt>hibernate.jndi.url</tt>, <tt>hibernate.jndi.class</tt> to instantiate
              an initial context.
          </p><p>
              You may define new Hibernate query tokens using <tt>hibernate.query.substitutions</tt>.
!             For example:
!             <pre class="programlisting">hibernate.query.substitutions true=1, false=0</pre>
!             would cause the tokens <tt>true</tt> and <tt>false</tt> to be translated to
!             integer literals in the generated SQL.
              <pre class="programlisting">hibernate.query.substitutions toLowercase=LOWER</pre>
              would allow you to rename the SQL <tt>lower</tt> function.
          </p></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="session-configuration-s6"></a>XML Configuration File</h2></div></div><p>
              An alternative approach is to specify a full configuration in a file named
!             <tt>hibernate.cfg.xml</tt>. The configuration file is expected to
              be in the root of your |CLASSPATH|.
          </p><pre class="programlisting"><?xml version='1.0' encoding='utf-8'?>
***************
*** 245,249 ****
          <!-- properties -->
          <property name="connection.datasource">my/first/datasource</property>
!         <property name="dialect">net.sf.hibernate.sql.MySQLDialect</property>
          <property name="show_sql">false</property>
          <property name="use_outer_join">true</property>
--- 245,249 ----
          <!-- properties -->
          <property name="connection.datasource">my/first/datasource</property>
!         <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
          <property name="show_sql">false</property>
          <property name="use_outer_join">true</property>
 |