¿Es hibernate fiable para un proyecto de gran envergadura?
Pues lo dicho en el titular, estamos afrontando un proyecto bastante grande que empezó a desarrollarse en C# y ahora se está pasando a JAVA.
Tengo experiencia con JDBC, pero nos planteamos el abstraer el desarrollo de lo que es la Base de Datos.
Estamos empezando a hacer pruebas con hibernate y la verdad es que la impresión que nos da es que no es muy fiable para un proyecto como este.
Estamos montando un servidor JBOSS con EJB's y la implementación de los DAO's en hibernate.
Hay que decir que tenemos unas 50-60 tablas y que tenemos sentencias SQL de una complejidad bastante grande(select entre multitud de tablas, update from, funciones propias de sql server como coallesce,...) ¿Todo esto se puede hacer con el HQL de Hibernate?
¿Cómo se comportará con un gran volumen de datos, concurrencia, rollback, etc.?
Las primeras pruebas han sido coger una de nuestras tablas y sus relacionadas y hacer una simple consulta... todavÃa no lo hemos conseguido.
Primero los xml's de configuración que firestorm no me los generó bien
Luego las librerÃas necesarias en el cliente, para poder capturar el error que me propagaba el servidor.
Ahora los valores nulos en los set de la clase de mapeo.
Bueno, no quiero llorar más.
Solo quiero q me comentéis vuestra experiencia con Hibernate y si realmente es una herramienta de fiablidad o bien me decanto por el JDBC de toda la vida.
Muchas gracias de antemano.
Tengo experiencia con JDBC, pero nos planteamos el abstraer el desarrollo de lo que es la Base de Datos.
Estamos empezando a hacer pruebas con hibernate y la verdad es que la impresión que nos da es que no es muy fiable para un proyecto como este.
Estamos montando un servidor JBOSS con EJB's y la implementación de los DAO's en hibernate.
Hay que decir que tenemos unas 50-60 tablas y que tenemos sentencias SQL de una complejidad bastante grande(select entre multitud de tablas, update from, funciones propias de sql server como coallesce,...) ¿Todo esto se puede hacer con el HQL de Hibernate?
¿Cómo se comportará con un gran volumen de datos, concurrencia, rollback, etc.?
Las primeras pruebas han sido coger una de nuestras tablas y sus relacionadas y hacer una simple consulta... todavÃa no lo hemos conseguido.
Primero los xml's de configuración que firestorm no me los generó bien
Luego las librerÃas necesarias en el cliente, para poder capturar el error que me propagaba el servidor.
Ahora los valores nulos en los set de la clase de mapeo.
Bueno, no quiero llorar más.
Solo quiero q me comentéis vuestra experiencia con Hibernate y si realmente es una herramienta de fiablidad o bien me decanto por el JDBC de toda la vida.
Muchas gracias de antemano.
Por lo menos yo he trabajado, con hibernate, pero lo he trabajado para reemplazar el trabajo con J2EE.
Si estas trabajando con J2EE, entoces deberias ocupar los Beans de Entidad, una rama de los EJB.
De todas maneras mi experiencia con Hibernate, ha sido siempre buenisima. Eso si, la he manejado siempre con WebSphere, nunca con JBoss.
Si estas trabajando con J2EE, entoces deberias ocupar los Beans de Entidad, una rama de los EJB.
De todas maneras mi experiencia con Hibernate, ha sido siempre buenisima. Eso si, la he manejado siempre con WebSphere, nunca con JBoss.
Hola
Estoy finalizando una versión de una aplicación de Inventario de Red con el Hibernate y la verdad es que la cosa va bastante bien. Lo que más me gusta es la transparencia y la posibilidad de probarlo sin necesidad de un servidor de aplicaciones o de un contenedor de servlets. Estoy consiguiendo mejorar el rendimiento en algunos cálculos complicados gracias a la caché de primer nivel. Ahora estoy probando la de segundo nivel para almacenar tipos de tarjetas, de equipos, etc. que apenas cambian. He reducido en gran medida el código y el tiempo de pruebas gracias al Hibernate. Esta versión de la aplicación me ha llevado unos 3 meses. No uso JBoss, sino sólo un Tomcat, aunque si tuviera tiempo me gustarÃa implementar una versión de la aplicación con EJBs y comparar rendimientos con la versión construida con Hibernate. Realizo consultas complejas que a veces reunen casi todas las tablas del modelo (unas 70). HQL permite llamadas utilizando SQL especÃfico del motor de BBDD, como CONNECT BY en mi caso, pues uso ORACLE. Por ahora, no uso ninguna herramienta de generación automática de los ficheros de configuración, pues creo que estas herramientas no son las idóneas para aprender. En cuanto a las referencias de colección a los elementos de otras tablas, basta con inicializarlos en la declaración para evitar los nulos.
Sinceramente, no soy muy amigo de los framework (de hecho, en mi aplicación web no uso un MVC como struts, sino uno propio), pero creo que he estado buscando algo como el Hibernate para la capa de persistencia desde que empecé a programar hace unos 6 años.
Estoy finalizando una versión de una aplicación de Inventario de Red con el Hibernate y la verdad es que la cosa va bastante bien. Lo que más me gusta es la transparencia y la posibilidad de probarlo sin necesidad de un servidor de aplicaciones o de un contenedor de servlets. Estoy consiguiendo mejorar el rendimiento en algunos cálculos complicados gracias a la caché de primer nivel. Ahora estoy probando la de segundo nivel para almacenar tipos de tarjetas, de equipos, etc. que apenas cambian. He reducido en gran medida el código y el tiempo de pruebas gracias al Hibernate. Esta versión de la aplicación me ha llevado unos 3 meses. No uso JBoss, sino sólo un Tomcat, aunque si tuviera tiempo me gustarÃa implementar una versión de la aplicación con EJBs y comparar rendimientos con la versión construida con Hibernate. Realizo consultas complejas que a veces reunen casi todas las tablas del modelo (unas 70). HQL permite llamadas utilizando SQL especÃfico del motor de BBDD, como CONNECT BY en mi caso, pues uso ORACLE. Por ahora, no uso ninguna herramienta de generación automática de los ficheros de configuración, pues creo que estas herramientas no son las idóneas para aprender. En cuanto a las referencias de colección a los elementos de otras tablas, basta con inicializarlos en la declaración para evitar los nulos.
Sinceramente, no soy muy amigo de los framework (de hecho, en mi aplicación web no uso un MVC como struts, sino uno propio), pero creo que he estado buscando algo como el Hibernate para la capa de persistencia desde que empecé a programar hace unos 6 años.
