Nuevo en Hibernate y necesito ayuda

Hola a todos primero que nada espero que esten bien

Les comento rapidamente que comienzo a desarrollar con Hibernate pero no logro si quiera el "Hola mundo"

El proposito es solo usar anotaciones y no el achivo de mapeo en XML

¿De igual forma que metodo es más conveniente ?

Estas son las caracteristicas de lo que estoy utilizando y codigos fuente

Eclipse 3.5
JBoss Tools
JBoss AS 4.2.1
No estoy utilizando Maven

Estructura
segundointento
|
|--/JavaSource
| |
| |--/beans
| | |
| | |--Proveedor.java
| |
| |--/configuracion
| | |
| | |--HibernateUtil.java
| |
| |--/implementacion
| |
| |--Implementacion.java
|
|--/ant
| |
| |--build.properties
| |
| |--build.xml
|
|--/WebContent
| |
| |--/META-INF
| |
| |--/WEB-INF
| | |
| | |--/lib
| | |
| | |--faces-config.xml
| | |
| | |--web.xml
| |
| |--index.jsp
|
|--hibernate.cfg.xml

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory name="java:hibernate/SessionFactory">
        <!-- Database connection settings -->
        <property name="connection.datasource">preparaciondesarolloDS</property>
       
        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <!--create the database schema on startup if required -->
        <property name="hbm2ddl.auto">update</property>
        <mapping class="beans.Proveedor"/>
  </session-factory>
</hibernate-configuration>

HibernateUtil.java

/**
 *
 */

package configuracion;

/**
 * @author VictorGV
 *
 */

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import java.io.File;

import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {
        private static final SessionFactory sessionFactory;

    static {
        try {
            // Si no ponemos fichero, intenta cargar "/hibernate.cfg.xml" en el
            // raiz
            sessionFactory = new AnnotationConfiguration().configure(
                    new File("hibernate.cfg.xml")).buildSessionFactory();
        } catch (Throwable ex) {
            // Log exception!
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static Session getSession() throws HibernateException {
        return sessionFactory.openSession();
    }

}

Implementacion.java

/**
 *
 */

package implementacion;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;

import org.hibernate.Session;

import beans.Proveedor;

import configuracion.HibernateUtil;

/**
 * @author VictorGV
 *
 */

public class Implementacion {
       
        public Implementacion(){
                BasicConfigurator.configure();
        Logger.getRootLogger().setLevel(Level.INFO);
        }
       
        public String algo(){
               
                System.out.println("dentro");

                inserta();

                System.out.println("saliendo");
                return null;
        }

        private void inserta(){
                Session s= HibernateUtil.getSession();
               
                s.beginTransaction();
               
                Proveedor objProveedor=new Proveedor();
                objProveedor.setIdProveedor(1);
                objProveedor.setNombreProveedor("Proveedor 1");
               
                s.save(objProveedor);
               
                s.getTransaction().commit();
                       
        }
       
}

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee <a href="http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
" title="http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
">http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
</a> <managed-bean>
  <managed-bean-name>beanImplementacion</managed-bean-name>
  <managed-bean-class>implementacion.Implementacion</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
 </managed-bean>
</faces-config>

index.jsp

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<!-- RichFaces tag library declaration -->
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

<html>
<head>
<title>No manches</title>
</head>

        <body>
        <f:view>
        <a4j:keepAlive beanName="beanImplementacion" />
                  <a4j:form rendered="true">
                        <rich:panel header="intento" style="width: 315px">
                              <h:outputText value="aqui  " />
                           
                             <a4j:commandButton value="metodo"  action="#{beanImplementacion.algo}" />
                             
                        </rich:panel>
                  </a4j:form>
            </f:view>
        </body>
</html>

web.xml

<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee <a href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
" title="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</a> <display-name>segundointento</display-name>
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>
  <context-param>
  <param-name>org.richfaces.SKIN</param-name>
  <param-value>blueSky</param-value>
 </context-param>
 <context-param>
  <param-name>org.richfaces.CONTROL_SKINNING</param-name>
  <param-value>enable</param-value>
 </context-param>
 <filter>
  <display-name>RichFaces Filter</display-name>
  <filter-name>richfaces</filter-name>
  <filter-class>org.ajax4jsf.Filter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>richfaces</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
 </filter-mapping>
 <listener>
  <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
 </listener>
 
 <!-- Faces Servlet -->
 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <!-- Faces Servlet Mapping -->
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
 
 <session-config>
   <session-timeout>1</session-timeout>
</session-config>
</web-app>

Y esta es la traza y antes de que empiecen y me digan RTFST "Read The Fucking Stack Trace" o cosas similares no sé dónde diablos le indico que lea el archivo de configuración de Hibernate o los jars si los tiene en la carpeta de libs y ademas por si mismo JBoss tiene las suficientes

Entonces la verda no sé que estoy haciendo mal

 
ERROR: invalid console appender config detected, console stream is looping19:05:50,467 INFO  [Version] Hibernate Annotations 3.2.1.GA
19:05:50,467 INFO  [STDOUT] 96563 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.annotations.Version  - Hibernate Annotations 3.2.1.GA
19:05:50,763 INFO  [Environment] Hibernate 3.2.4.sp1
19:05:50,763 INFO  [STDOUT] 96859 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.Environment  - Hibernate 3.2.4.sp1
19:05:50,779 INFO  [Environment] hibernate.properties not found
19:05:50,779 INFO  [STDOUT] 96875 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.Environment  - hibernate.properties not found
19:05:50,779 INFO  [Environment] Bytecode provider name : javassist
19:05:50,779 INFO  [STDOUT] 96875 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.Environment  - Bytecode provider name : javassist
19:05:50,795 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
19:05:50,795 INFO  [STDOUT] 96891 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.Environment  - using JDK 1.4 java.sql.Timestamp handling
19:05:50,951 INFO  [Configuration] configuring from file: hibernate.cfg.xml
19:05:50,951 INFO  [STDOUT] 97047 [http-localhost%2F127.0.0.1-8080-1] INFO org.hibernate.cfg.Configuration  - configuring from file: hibernate.cfg.xml
19:05:50,951 FATAL [application] java.lang.ExceptionInInitializerError
javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
        at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
        at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
        at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
        at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ExceptionInInitializerError
        at configuracion.HibernateUtil.<clinit>(HibernateUtil.java:29)
        at implementacion.Implementacion.inserta(Implementacion.java:39)
        at implementacion.Implementacion.algo(Implementacion.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:131)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)

De antemano gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

pues ve tu código

no sé dónde diablos le indico que lea el archivo de configuración de Hibernate

Tu clase HibernateUtil tiene un inicializador estático que se ejecuta al cargar la clase y ahí pusiste código para cargar la configuración de Hibernate. Pero parece que es un mal lugar para cargarlo porque algo está pasando segun el stack trace que pusiste, porque ahi se arroja una excepción, y al parecer está mal configurado el sistema de bitácoras, por lo que dice al principio de "invalid console appender config detected, console stream is looping".

Hibernate no trae alguna clase que puedas poner en el web.xml como context loader listener para que cargue la configuración cuando inicia la webapp?