Un error en Netbeans 6.1 en persistencia de objetos...

Estimados colegas:
Estoy desarrollando una aplicacion en Netbeans 6.1, con Hibernate, Jboss 4.2.2 GA, y cuando intento persistir un objeto me da este error en tiempo de ejecucion:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named JavaApplication2PU
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at javaapplication2.HibernateUtil.persist(HibernateUtil.java:20)
at javaapplication2.Main.main(Main.java:21)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Si alguien me puede tirar una idea ya que todos tienen una experiencia mayor que la mia se los agradecere eternamente, saludos desde Argentina !!!!!!!!!!!!!!!!!!!!1

Comentarios

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

Log4J

Configura Log4J para poder ver el log bien del error y con eso tendrás una mejor idea.

Lo más sencillo es que simplemente pongas un archivo log4j.properties en la raíz del classpath (bajo tu directorio src, si es que así organizas tus fuentes, o src/main/resources si usas la estructura de directorios de un proyecto estandar en Maven). El contenido debe ser algo como esto:

log4j.rootLogger=TRACE,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %C{1} - %m%n
log4j.logger.org.apache=INFO

Posteriormente podrás modificar lo que quieres que aparezca en el log, poniendo categorías, por ejemplo si ya no quieres ver tantos mensajes de Hibernate, algo como

log4j.logger.org.hibernate=INFO

o WARN en vez de INFO, etc.

Una vez que pongas esto, corre tu programa; seguirás teniendo el error de persistencia pero tal vez en el log salgan mensajes más detallados.

No tengo el proyecto en

No tengo el proyecto en Maven, lo tengo en Netbeans, si es que Maven es un ide, la verdad que no tengo ni idea pero probare donde meter este codigo,gracias!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Imagen de ezamudio

Classpath

La cosa es que debes tener el log4j.properties en un directorio dentro de tu classpath. No sé cómo funcione en NetBeans, pero en Eclipse por lo general tienes un directorio "src" donde están todas las clases del proyecto; directo bajo src se pone el log4j.properties y el compilador copia ese archivo al bin (donde quedan los .class y ese directorio bin queda dentro del classpath), con lo que al correr la aplicación desde dentro del IDE, Log4J encuentra ese archivo y ya se configura correctamente.

Esa configuración de Log4J es para que escupa todos los mensajes a consola, la cual generalmente ves desde tu IDE.

Maven es para manejar proyectos, independiente del IDE que uses. Una de sus características principales es el manejo de dependencias, ya sea con otros proyectos o con librerías externas), además de compilar y empaquetar tu aplicación o librería.