Configurar spring + hibernate en netbeans 6.8

Hola a todos los gurus de java,eh tenido problemas al conectar spring+hibernate en netbeans,no se si alguien pudo conectarlo y si me pudieran guiar o pasar el codigo de conexion,se los agradeceria.....xD

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

Ejemplo: JavaMexico 2.0

En el proyecto de JavaMexico configuramos así Hibernate usando Spring, en una aplicación web:

Creamos un application context con los DAOs (pongo aquí uno solo como ejemplo):

<bean id="usuarioDao" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="frozen" value="true" />
        <property name="proxyInterfaces" value="org.javamexico.dao.UserDao" />
        <property name="target"><bean class="org.javamexico.dao.hib3.UsuarioDAO">
                <property name="sessionFactory" ref="hibFactory" />
        </bean></property>
        <property name="interceptorNames"><list>
                <value>hibInterceptor</value>
        </list></property>
</bean>

El interceptor de Hibernate y la fábrica de sesiones se definen así (puede ser en el mismo o en otro archivo, todos se van a cargar al mismo application context):

<bean id="hibInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
        <property name="sessionFactory" ref="hibFactory" />
</bean>

<bean id="hibFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="org.javamexico.entity" />
        <property name="hibernateProperties"><value>
                hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
                hibernate.cache.provider_class=org.hibernate.cache.OSCacheProvider
        </value></property>
</bean>

Hay que modificar el dialecto del hibFactory si vas a usar otra base de datos. El DataSource puede estar definido como un proxy hacia un dataSource de JNDI en tu contenedor JEE o bien puede estar definido con DBCP o con C3P0, etc.

En cuanto a las clases, siguiendo este ejemplo, UserDao es una simple interfaz con los métodos a implementar:

public interface UserDao {

  public Usuario getUser(int id);

}

Y la implementación con Hibernate 3:

public class UsuarioDAO implements UserDao {

  @Autowired
  private SessionFactory sfact;

  public Usuario getUser(int id) {
    Session sesion = sfact.getCurrentSession();
    return (Usuario)sesion.get(Usuario.class, id);
  }

}

En el código del DAO no es necesario cerrar la sesión porque de eso se va a encargar el interceptor de Hibernate provisto por Spring; usando AOP (Aspect Oriented Programming) va a envolver nuestro DAO en un proxy que al final de cada método cerrará la sesión de Hibernate que se encuentre abierta (también la cierra si ocurre una excepción).

Parece fácil cuando ya

Parece fácil cuando ya sabes, pero al inicio es casi imposible.

Baje el proyecto.

Modifique los scripts y ya cree las tablas en JavaDB ( a.k.a Derby )

Mofique el archivo spring.xml precisamente para que usara el dialecto de derby: hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, pero por ningún maldito lado logré que spring buscara la definición del bean en el archivo "derby.xml" que cree como hermano ( copy pasteado ) del de postgress quedando así.

Lo que terminé haciendo fue cambiar el driver y jdbc url en el archivo de postgress y finalmente se dignó a tomarlo, pero ahora lo que necesito es saber como poner el jar en el proyecto.

1 opción es directamente en el modulo pero lo correcto deberìa de ser usando Maven
2. Usando maven, no sé como cargar la "dependencia"

En el archivo pom.xml vienen varias configuraciones y el IDE me quiere ayudar a cargarlas, pero supongo que hay que configuar en algún otro lado antes para que puedan ser listadas ahi.

No sale org.apache.derby por que se lo tengo que ponder en otro lado, pero no se cual?

Hasta aquí me quede:

No encuentra la clase, por que no sé como acercarsela al Maven ( será por que en mi vida he usado Maven? No sé por que ya creo que lo odio )

Ya casi, ya casi.

Que hago ahora?

Imagen de ezamudio

m2eclipse

Si usas Eclipse y tienes el m2eclipse instalado, hay un menu para agregar dependencias al proyecto, y te presenta opciones segun lo que tecleas. si no aparece nada con derby, intenta javadb, a ver si aparece algo...

Buuuhhh yo que quería

Buuuhhh yo que quería mantener mi Mac libre de Eclipse :( ... Revisolo puesn

Por cierto, hay que instalar maven a parte o con el plugin basta?

Imagen de ezamudio

Buena pregunta...

Yo instalé maven aparte pero creo que con el puro plugin la haces...

Imagen de ezamudio

IntelliJ

Si no quieres usar Eclipse, me parece que benek ya subió los archivos para abrir el proyecto en IDEA. Y si tú lo quieres abrir en NetBeans o algo así pues estaría bueno que subieras los archivos para abrirlo en tu IDE favorito (o nos los mandas y los subimos, etc)

Si, de hecho ya los subió y

Si, de hecho ya los subió y jalan muy bien. El proyecto abre y compila sin modificar nada.

Esto que me esta fallando es cargar del driver de Derby se debe más a mi falta de conocimiento de Maven que otra cosa.

Voy a probar con Eclipse y regreso con los resultados.

Nos vemos.

Imagen de ezamudio

Maven