tag:blogger.com,1999:blog-1481755160576909631.post8210485864551464718..comments2022-03-31T09:49:36.697+02:00Comments on Blog de Julio César Pérez Arques: Cuando usar / no usar Hibernatejcesarperezhttp://www.blogger.com/profile/09407010927256988320noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-1481755160576909631.post-27813989773993550082020-02-01T12:21:48.432+01:002020-02-01T12:21:48.432+01:00Este comentario ha sido eliminado por el autor.El chico nuevohttps://www.blogger.com/profile/15744059765962939186noreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-59540508209595387722016-09-04T03:37:07.118+02:002016-09-04T03:37:07.118+02:00Que sucede si la aplicacion hace uso extensivo de ...Que sucede si la aplicacion hace uso extensivo de procedimientos almacenados que sugieren usar?<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-32281321699062315302009-07-26T13:10:11.062+02:002009-07-26T13:10:11.062+02:00Hola Juan.
La respuesta es depende :-) No hay una...Hola Juan.<br /><br />La respuesta es depende :-) No hay una razón para no usar Hibernate en WS. Aunque si el WS sólo va a hacer lecturas, usar Hibernate (IMHO) tiene poco beneficio. Sobretodo si necesitas optimizar al máximo su rendimiento.<br /><br />Respecto a la integridad de datos, para eso están las transacciones.jcesarperezhttps://www.blogger.com/profile/09407010927256988320noreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-87065378586327167152009-07-25T21:21:57.660+02:002009-07-25T21:21:57.660+02:00Hola, he seguido tus post sobre Web Services y goo...Hola, he seguido tus post sobre Web Services y googleando tambien me encontré con este sobre Hibernate ... de ambos temas me surgen las siguientes consultas: Para accesos a base de datos desde servicios web es recomendable usar hibernate? considerando que dicha base de datos es usado por varias aplicaciones que realizan gran cantidad de acceso y manipulacion de la data y los servicios poca en comparación a las aplicaciones ... que consideraciones hay que tener en cuenta para mantener la sincronización de la data tanto entre aplicaciones como los servicios?Juannoreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-7121219399008447462008-10-18T08:15:00.000+02:002008-10-18T08:15:00.000+02:00Muy buena lista sobre razones para usar hibernate,...Muy buena lista sobre razones para usar hibernate, en mi caso soy un novato de hibernate, hace apenas un mes que estoy en laburo nuevo y estoy aprendiendo hibernate a las piñas, menos mal tengo un compañero que se sienta a lado que sabe bastante y me saca de algunos kilombos<BR/>y por ahora va bien........Mariohttps://www.blogger.com/profile/02374371305875067096noreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-75612373259455660042008-10-09T19:00:00.000+02:002008-10-09T19:00:00.000+02:00Julio,Estoy de acuerdo con el análisis que haces s...Julio,<BR/><BR/>Estoy de acuerdo con el análisis que haces sobre Hibernate, yo lo uso hace bastante tiempo y le he dedicado varios posts, no me imagino volviendo a programar con JDBC los ABM. Además el Criteria API es la solución ideal para crear consultas dinámicas donde los filtros son opcionales.<BR/><BR/>Saludos desde Uruguay,<BR/><BR/>FedericoFederico Varelahttps://www.blogger.com/profile/01918087452599129501noreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-90441884380583214572008-10-01T00:05:00.000+02:002008-10-01T00:05:00.000+02:00Hola Nacho. Es todo un placer tenerte por aquí. Mu...Hola Nacho. Es todo un placer tenerte por aquí. Muchas gracias por ampliar la <I>lista positiva</I>.<BR/><BR/>Hibernate es una estupenda tecnología que merece la pena dedicarle tiempo y dominarla.<BR/>De hecho es tan estupenda que una vez la aprendes es comprensible querer usarla en todos los proyectos, a veces a ciegas. La <I>lista negativa</I> tan sólo son una serie de puntos a tener en cuenta para situaciones donde merece la pena pensárse 2 veces si usar Hibernate.<BR/>Y por supuesto es fruto de mi experiencia y de mi criterio personal.<BR/><BR/>Es nuestro trabajo usar la balanza sabiamente.jcesarperezhttps://www.blogger.com/profile/09407010927256988320noreply@blogger.comtag:blogger.com,1999:blog-1481755160576909631.post-36069365339676866462008-09-28T11:44:00.000+02:002008-09-28T11:44:00.000+02:00Estoy totalmente de acuerdo (incluyendo también el...Estoy totalmente de acuerdo (incluyendo también el comentario en contra de los fanáticos, a pesar de que casi me considero uno =D). En la última aplicación en la que he trabajado he tenido que lidiar con los puntos negativos que destacas, lo cual ha resultado una seria molestia. Con esto me gustaría mostrar a quien lea el artículo que la lista de puntos negativos hay que ponerla en una balanza, ya que no son <I>tan</I> negativos como para descartar su uso (en mi opinión al menos).<BR/>Para ponernos en antecedentes, es una aplicación de gestión, de "toma de decisiones" (no muchos usuarios concurrentes), que gestiona unos 10-12 elementos principales, que a su vez constan de otros tantos secundarios.<BR/>-<B>Modelo de datos existente:</B><BR/>El modelo de datos de la aplicación es muy grande. A estas alturas la aplicación utiliza alrededor de 140 tablas, unas cuantas de ellas procedentes de esquemas existentes. Es cierto que usar tablas existentes me impidió generar el esquema directamente con Hibernate, teniendo que mapear "a mano", pero bueno. Aunque no se puede exprimir Hibernate al 100%, aún en este caso representa menos trabajo que escribir el SQL.<BR/>-<B>Claves primarias compuestas</B><BR/>Cierto, un infierno. Otro equipo de desarrollo tenía un esquema en que casi todo eran claves compuestas. De verdad, nada como usar claves deferred (números incrementales, y punto).<BR/>-<B>Experiencia</B>:<BR/>Este ha sido el GRAN problema. Como comentas en <A HREF="http://iiso.blogspot.com/2008/09/diseando-una-arquitectura-apndice.html" REL="nofollow">una de mis entradas sobre una arquitectura con Hibernate</A>, el factor humano es clave. Cuando lo vimos orientamos el proceso de contratación a experiencia en ello, pero es algo muy difícil de encontrar. Cuando entra alguien en el equipo sin experiencia en Hibernate, hay que dedicar tiempo de formación específica. Otras tecnologías se pueden abrir sobre la marcha, esta no. De hecho, en otro proyecto la formación inicial fue incluso menor, lo cual provocó un tiempo de arranque inadmisible, y además lo desarrollado, aunque funcionaba, no aprovechaba todo su potencial. <BR/><BR/>En mi caso lo usamos porque el número de tablas ya existente no era grande, porque en nuestro esquema apenas habría claves compuestas, y porque aunque el equipo no tiene experiencia uno de los objetivos es que la consigan. Nuestro producto de desarrollo son principalmente aplicaciones para la intranet, e Hibernate es perfecto en estos casos.<BR/><BR/>A las recomendaciones para usar Hibernate añadiría la siguiente:<BR/>- Desarrollo de soluciones genéricas: hemos desarrollado "componentes verticales" (módulos que constan de modelos abstractos, DAOs, lógica de negocio, beans y componentes JSF) que nos permiten conseguir páginas CRUD "tipo" en escasos minutos. Por ejemplo, para las típicas situaciones de datos de tipo (código, nombre y descripción), en cinco minutos tenemos toda la pila funcionando.<BR/>También para clases que se van a reutilizar en todo el sistema. Por ejemplo, tenemos un workflow que a las entidades que tienen un flujo asociado les almacena el historial de transiciones, estados, etc. Todo esto se puede gracias a la genericidad y reutilización.<BR/>- Situaciones en las que el modelo de datos vaya a variar. Esto no es muy habitual, pero en metodologías ágiles, en las que se desarrolla sin haber cerrado los requisitos, es fundamental.<BR/>- Uso de "todo el paquete": Hibernate Validator, Search, Shards (y Annotations). Los dos primeros proporcionan valor añadido. Me recuerda a lo que me ocurrió con Struts. El "núcleo" en sí mismo estaba bien, pero usar Struts Validator y Tiles destacaba todo su potencial. Con Hibernate, igual. El "núcleo" es muy interesante, pero definir las validaciones en el modelo, facilitar integrar la búsqueda, etc., son más puntos a favor.juanignacioslhttps://www.blogger.com/profile/14619363914899206503noreply@blogger.com