¿Por qué necesitamos agregar el controlador jdbc al hibernar? Quiero entender el mecanismo operativo de hibernación.
Tengo entendido que jdbc (Java Database Connectivity) es un conjunto de definiciones de API de interfaz universal, lo que significa que estipula qué API se debe llamar cuando realizamos operaciones como seleccionar e insertar en la base de datos. Sin embargo, para diferentes bases de datos específicas, este conjunto de interfaces debe implementarse específicamente para conectarse con sistemas de bases de datos específicos (mysql, orcle, etc.), y estas implementaciones de interfaz jdbc para bases de datos específicas son los controladores jdbc de una base de datos específica.
En cuanto a Hibernate, en realidad todavía utiliza la API jdbc para realizar operaciones de base de datos a través de varias declaraciones SQL. Por ejemplo, si desea que un objeto de una clase se almacene en la base de datos, hibernar todavía usa la instrucción de inserción, pero está empaquetada de modo que no puede ver la operación de la instrucción SQL real. En este momento, debido a que la hibernación solo está escrita para la API de JDBC, en cuanto a cómo hacer que la API de JDBC realmente funcione en una determinada base de datos, se necesita un controlador JDBC.
En pocas palabras, la hibernación se programa directamente utilizando la interfaz api jdbc. Cuando se opera una base de datos específica, la interfaz api jdbc debe implementarse para este sistema de base de datos específico, es decir, un controlador jdbc específico.