Hello people!

I'm begin in the world of database persistence and i'm lost.... help!

My english isn't so good (i'm brazilian) but i will try to explain

In the section quickstart of the manual I don't understand how cat.class and
cat.hbm.xml work (I understand the structure, but i don't know how show my
db

Follow my files:
------------ cat.java
public class Cat {
 private String id;
 private String name;
 private char sex;
 private float weight;

 public Cat() {
 }

 public String getId() {
  return id;
 }

 public void setId(String id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public char getSex() {
  return sex;
 }

 public void setSex(char sex) {
  this.sex = sex;
 }
 public float getWeight() {
  return weight;
 }

 public void setWeight(float weight) {
  this.weight = weight;
 }
}
-----------------------
------------------ cat.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd";>

<hibernate-mapping>
 <class name="Cat" table="Cat">
  <!-- A 32 hex character is our surrogate key. It's automatically
   generated by Hibernate with the UUID pattern. -->
  <id name="id" type="string" unsaved-value="null" >
   <column name="cat_id" sql-type="char(32)" not-null="true"/>
   <generator class="uuid.hex"/>
  </id>
  <!-- A cat has to have a name, but it shouldn' be too long. -->
  <property name="name">
   <column name="name" sql-type="varchar(16)" not-null="true"/>
  </property>
  <property name="sex"/>
  <property name="weight"/>
 </class>
</hibernate-mapping>
--------------------
-------- hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd";>

<hibernate-configuration>
 <session-factory>
  <property
name="connection.datasource">java:comp/env/jdbc/quickstart</property>
  <property name="show_sql">false</property>
  <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>

  <!-- Mapping files -->
  <mapping resource="Cat.hbm.xml"/>
 </session-factory>
</hibernate-configuration>
---------------------------

------------- hibernate.properties
hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class org.gjt.mm.mysql.Driver
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql:/localhost/quickstart
hibernate.connection.username root
hibernate.connection.password
------------------------------

--------- hiernateutil.java

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletException;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;

public class HibernateUtil
    extends HttpServlet {

    private SessionFactory sessionFactory;
    private Session session;
    private Transaction transaction;

    public void doGet(HttpServletRequest request, HttpServletResponse
response)
        throws ServletException, IOException {

        try {
            // Initialize Hibernate (Configuration and SessionFactory)
             initHibernate();

            // Prepare out
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            // Create some Cats
            beginTransaction();
            createCats(out);
            endTransaction(true);

            // Select all Cats
            beginTransaction();
            selectAllCats(out);
            endTransaction(false);

            // Select female Cats
            beginTransaction();
            selectFemaleCats(out);
            endTransaction(false);

        } catch (HibernateException e) {
             throw new ServletException(e);
         }

    }

    public void createCats(PrintWriter out)
        throws HibernateException {

        out.print("<h3>Creating Cats:</h3>");
        out.println("CREATING 'Princess'...<br/>");
        Cat princess = new Cat();
        princess.setName("Princess");
        princess.setSex('F');
        princess.setWeight(7.4f);
        session.save(princess);

        out.println("CREATING 'Max'...<br/>");
        Cat max = new Cat();
        max.setName("Max");
        max.setSex('M');
        max.setWeight(8.1f);
        session.save(max);

        out.println("CREATING 'Sophie'...<br/>");
        Cat sophie = new Cat();
        sophie.setName("Sophie");
        sophie.setSex('F');
        sophie.setWeight(4.1f);
        session.save(sophie);
    }

    public void selectAllCats(PrintWriter out)
        throws HibernateException {

        out.print("<h3>Retrieving all Cats:</h3>");
        String queryString = "select cat from Cat as cat";
        Query query = session.createQuery(queryString);
        for (Iterator it = query.iterate(); it.hasNext();) {
            Cat cat = (Cat) it.next();
            out.println("CAT: " + cat.getName() + " (" + cat.getSex() + ", "
+ cat.getWeight() + ")<br/>");
        }
    }

    public void selectFemaleCats(PrintWriter out)
        throws HibernateException {

        out.print("<h3>Retrieving female Cats:</h3>");
        String queryString = "select cat from Cat as cat where cat.sex =
:sex";
        Query query = session.createQuery(queryString);
        query.setCharacter("sex", 'F');
        for (Iterator it = query.iterate(); it.hasNext();) {
            Cat cat = (Cat) it.next();
            out.println("CAT: " + cat.getName() + " (" + cat.getSex() + ", "
+ cat.getWeight() + ")<br/>");
        }
    }

    // Helper Methods
    private void initHibernate()
        throws HibernateException {

        // Load Configuration and build SessionFactory
        sessionFactory = new
Configuration().configure().buildSessionFactory();
    }

    private void beginTransaction()
        throws HibernateException {

        session = sessionFactory.openSession();
        transaction = session.beginTransaction();
    }

    private void endTransaction(boolean commit)
        throws HibernateException {

        if (commit) {
            transaction.commit();
        } else {
            // Don't commit the transaction, can be faster for read-only
operations
            transaction.rollback();
        }
        session.close();
    }

}

--------------------------

All these files are in the C:\Tomcat\webapps\quickstart\WEB-INF\classes

I'm sorry if the questions are so easy, but I don't find any example step by
step

Thanks a lot
Fabio Esposito



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to