[hibernate-commits] Hibernate SVN: r14994 - core/trunk/documentation/manual/src/main/docbook/en-US/content.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jul 30 13:21:59 EDT 2008


Author: steve.ebersole at jboss.com
Date: 2008-07-30 13:21:58 -0400 (Wed, 30 Jul 2008)
New Revision: 14994

Modified:
   core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml
Log:
doc changes

Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml	2008-07-30 16:46:34 UTC (rev 14993)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml	2008-07-30 17:21:58 UTC (rev 14994)
@@ -27,86 +27,120 @@
         <!ENTITY mdash "-">
 ]>
 
+        <!-- todo : need searate sections, one for each tutorial -->
+
 <chapter id="tutorial">
     <title>Introduction to Hibernate</title>
     
-    <sect1 id="tutorial-intro" revision="1">
+    <sect1 id="tutorial-intro">
         <title>Preface</title>
-        
+
         <para>
-            This chapter is an introductory tutorial for new users of Hibernate. We start
-            with a simple command line application using an in-memory database and develop
-            it in easy to understand steps.
+            This chapter is an introduction to Hibernate by way of a tutorial,
+            intended for new users of Hibernate.  We start with a simple
+            application using an in-memory database.  We build the
+            application in small, easy to understand steps.  The tutorial is
+            based on another, earlier one developed by Michael Gloegl.  All
+            code is contained in the <filename>tutorials/web</filename> directory
+            of the project source.
         </para>
 
+    </sect1>
+
+    <important>
         <para>
-            This tutorial is intended for new users of Hibernate but requires Java and
-            SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party
-            libraries we name are for JDK 1.4 and 5.0. You might need others for JDK 1.3.
+            This tutorial expects the user have knowledge of both Java and
+            SQL.  If you are new or uncomfortable with either, it is advised
+            that you start with a good introduction to that technology prior
+            to attempting to learn Hibernate.  It will save time and effort
+            in the long run.
         </para>
+    </important>
 
+    <note>
         <para>
-            The source code for the tutorial is included in the distribution in the
-            <literal>doc/reference/tutorial/</literal> directory.
+            There is another tutorial/example application in the
+            <filename>/tutorials/eg</filename> directory of the project source.
+            That example is console based and as such would not have the
+            dependency on a servlet container to execute.  The basic setup is
+            the same as the instructions below.
         </para>
+    </note>
 
-    </sect1>
-    
-    <sect1 id="tutorial-firstapp" revision="2">
+    <sect1 id="tutorial-firstapp">
         <title>Part 1 - The first Hibernate Application</title>
 
         <para>
-            First, we'll create a simple console-based Hibernate application. We use an
-            Java database (HSQL DB), so we do not have to install any database server.
+            Let's assume we need a small database application that can store
+            events we want to attend, and information about the host(s) of
+            these events.  We will use an in-memory, Java database named HSQLDB
+            to avoid describing installation/setup of any particular database
+            servers.  Feel free to tweak this tutorial to use whatever database
+            you feel comfortable using.
         </para>
-
-        <para>
-            Let's assume we need a small database application that can store events we want to
-            attend, and information about the hosts of these events.
-        </para>
             
         <para>
-            The first thing we do, is set up our development directory and put all the
-            Java libraries we need into it. Download the Hibernate distribution from the
-            Hibernate website. Extract the package and place all required libraries
-            found in <literal>/lib</literal> into into the <literal>/lib</literal> directory
-            of your new development working directory. It should look like this:
+            The first thing we need to do is set up our development environment,
+            and specifically to setup all the required dependencies to Hibernate
+            as well as other libraries.  Hibernate is built using Maven which 
+            amongst other features provides <literal>dependecy management</literal>;
+            moreover it provides <emphasis>transitive</emphasis>
+            <literal>dependecy management</literal> which simply means that to use
+            Hibernate we can simply define our dependency on Hibernate, Hibernate
+            itself defines the dependencies it needs which then become transitive
+            dependencies of our project.
         </para>
-            
+
         <programlisting><![CDATA[.
-+lib
-  antlr.jar
-  cglib.jar
-  asm.jar
-  asm-attrs.jars
-  commons-collections.jar
-  commons-logging.jar
-  hibernate3.jar
-  jta.jar
-  dom4j.jar
-  log4j.jar ]]></programlisting>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-        <para>
-            This is the minimum set of required libraries (note that we also copied
-            hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of writing</emphasis>.
-            The Hibernate release you are using might require more or less libraries. See the
-            <literal>README.txt</literal> file in the <literal>lib/</literal> directory of the
-            Hibernate distribution for more information about required and optional third-party
-            libraries. (Actually, Log4j is not required but preferred by many developers.)
-        </para>
+    ...
 
+    <dependencies>
+        <dependency>
+            <groupId>${groupId}</groupId>
+            <artifactId>hibernate-core</artifactId>
+        </dependency>
+
+        <!-- Because this is a web app, we also have a dependency on the servlet api. -->
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>]]></programlisting>
+
+        <note>
+            <para>
+                Essentially we are describing here the
+                <filename>/tutorials/web/pom.xml</filename> file.  See the
+                <ulink url="http://maven.org">Maven</ulink> site for more information.
+            </para>
+        </note>
+
+        <tip>
+            <para>
+                While not strictly necessary, most IDEs have integration with Maven
+                to read these POM files and automatically set up a project for you
+                which can save lots of time and effort.
+            </para>
+        </tip>
+
         <para>
             Next we create a class that represents the event we want to store in database.
         </para>
       
-        <sect2 id="tutorial-firstapp-firstclass" revision="1">
+        <sect2 id="tutorial-firstapp-firstclass">
             <title>The first class</title>
             
             <para>
                 Our first persistent class is a simple JavaBean class with some properties:
             </para>
 
-            <programlisting><![CDATA[package events;
+            <programlisting><![CDATA[package org.hibernate.tutorial.domain;
 
 import java.util.Date;
 
@@ -188,7 +222,7 @@
                 
         </sect2>
 
-        <sect2 id="tutorial-firstapp-mapping" revision="1">
+        <sect2 id="tutorial-firstapp-mapping">
             <title>The mapping file</title>
 
             <para>




More information about the hibernate-commits mailing list