¿Por qué activiti5 eligió ibatis?
Dominar la hibernación puede llevar tres veces más tiempo.
2.iBatis facilita la optimización de SQL.
Todo el mundo debería saber esto. Además, el SQL generado por Hibernate es realmente feo. Mirror
Un amigo mencionó que SQL no es muy importante. Me gustaría resaltar mi experiencia aquí con el rendimiento general del sistema.
Todos los cuellos de botella están en la base de datos. Esta es una ventaja muy importante de iBatis.
3.iBatis puede realizar una optimización detallada.
3.1 Por ejemplo, tengo una tabla con varios o decenas de campos que necesito actualizar.
Para un campo, iBatis es muy simple y ejecuta un sql.
Actualizar TABLA _ A SET columna _ 1 = # columna _ 1 #donde id=#id#
Pero usar hibernación es más problemático. De forma predeterminada, Hibernate actualiza todos los campos.
Por supuesto que recuerdo que hibernar tiene una opción para guardar solo los campos modificados, pero no estoy seguro.
Identificar el impacto negativo de esta característica.
3.2 Necesito listar parte de una tabla. Al utilizar iBatis, la ventaja es que se pueden reducir los datos.
La biblioteca lee grandes cantidades de datos y ahorra tráfico.
SELECCIONE ID, NOMBRE DE LA TABLA _ CON _ MUCHAS _ COLUMNAS donde...
3.2.1 Generalmente,
Hibernar seleccionará todo campos. Por ejemplo, hay una tabla con ocho campos.
Hay uno o dos campos relativamente grandes, varchar(255)/text. ¿Por qué lo puse en la escena de arriba?
¿Y los niños?
3.2.2 Al usar la hibernación, estos dos campos innecesarios no se pueden configurar para carga diferida, porque
todavía hay muchos lugares donde es necesario cargar todo el objeto del dominio a la vez. En este momento, aparecerá.
Ventajas de ibatis
3.2.3 Hibernate tiene otra solución, que es generar javabean/map/object[] (Gracias.
Leelun/cjmm ), Pero en este caso, se puede generar una gran cantidad de clases redundantes. Mapa/Objeto[]
Debería ser bueno. Prefiero esta manera.
3.3 Si necesito actualizar un registro (un objeto), si uso hibernar, necesito actualizarlo ahora.
Por ejemplo, seleccione y luego actualice. Estos son dos SQL para la base de datos. Y Ibatis
sólo requiere una actualización de sql. Reduzca una interacción con la base de datos, lo cual es muy importante para el rendimiento.
La promoción es importante.
4. Desarrollo
4.1 Eficiencia del desarrollo, creo que los dos deberían ser más o menos iguales.
4.2 En términos de mantenibilidad, creo que iBatis es mejor. Porque el sql de iBatis se guarda en
en un archivo separado. En algunos casos, Hibernate se puede guardar en código Java.
sql/hql.
5. Eficiencia en el trabajo
5.1 Independientemente del almacenamiento en caché, iBatis debería ser más rápido o mucho más rápido que hibernar.
(Variará según la situación real).
Por supuesto, iBatis también tiene algunas deficiencias importantes.
1. Pobre soporte para diferentes tipos de bases de datos. Si está desarrollando un sistema que sea portátil entre datos alineados, puede ser mejor utilizar la hibernación.
2. El soporte de caché predeterminado no es bueno, pero el soporte de caché de hibernación en realidad no es muy bueno y es muy complicado. Especialmente para grandes aplicaciones concurrentes. Por eso prefiero administrar el caché yo mismo.