Herramientas de usuario

Herramientas del sitio


apuntes:hibernate

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
apuntes:hibernate [2019/05/17 21:35] – [Consideraciones sobre mapeo de relaciones] fernandoapuntes:hibernate [2024/09/16 16:03] (actual) – editor externo 127.0.0.1
Línea 117: Línea 117:
     <property name="hibernate.connection.username">usuario</property>     <property name="hibernate.connection.username">usuario</property>
     <property name="hibernate.connection.password">contraseña</property>     <property name="hibernate.connection.password">contraseña</property>
-    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>+    <property name="hibernate.dialect">org.hibernate.dialect.MySQL55Dialect</property>
  
     <!--muestra las consultas por consola -->     <!--muestra las consultas por consola -->
Línea 245: Línea 245:
 configuracion.setProperty("hibernate.connection.username", "root"); configuracion.setProperty("hibernate.connection.username", "root");
 configuracion.setProperty("hibernate.connection.password", ""); configuracion.setProperty("hibernate.connection.password", "");
-configuracion.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");+configuracion.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL55Dialect");
 configuracion.setProperty("Hibernate.show_sql", "true"); configuracion.setProperty("Hibernate.show_sql", "true");
  
Línea 266: Línea 266:
 </code> </code>
  
-Puedo utilizar //create// o //update//. Create crea la base de datos completa. Update la crea si no existe, y si ya existe simplemente modifica los cambios que haya habido en su estructura.+Puedo utilizar //create// o //update////Create// crea la base de datos completa. //Update// la crea si no existe, y si ya existe simplemente modifica los cambios que haya en su estructura.
  
-Si quiero crear las claves ajenas de forma correcta, me interesa que el motor de datos de la base de datos sea //InnoDB//. Para ello debo añadir la instrucción de Java ''System.setProperty("hibernate.dialect.storage_engine", "innodb");'' en el fichero HibernateUtil.java.+Si quiero crear las claves ajenas de forma correcta, me interesa que el motor de datos de la base de datos sea //InnoDB//.
 ==== Pool de conexiones ==== ==== Pool de conexiones ====
 Cuando un programa trabaja con una bbdd se deben abrir y cerrar conexiones con ella, y si el programa permite conectar diversos clientes, nos encontramos con el problema de conectar y desconectar conexiones a la base de datos. Un //pool// de conexiones es un conjunto (pool) de conexiones ya conectadas a la base de datos que puedan ser reutilizadas entre distintas peticiones.  Cuando un programa trabaja con una bbdd se deben abrir y cerrar conexiones con ella, y si el programa permite conectar diversos clientes, nos encontramos con el problema de conectar y desconectar conexiones a la base de datos. Un //pool// de conexiones es un conjunto (pool) de conexiones ya conectadas a la base de datos que puedan ser reutilizadas entre distintas peticiones. 
Línea 623: Línea 623:
 Cuando realizamos relaciones bi-direccionales de las clases, desde Java podemos acceder a los elementos relacionados desde cualquier de los dos objetos de una relación. Para ello utilizaremos atributos únicos en el lado de ''@ManytoOne'' y colecciones (List, Set, Map) para el lado de ''@OneToMany'' o ''@ManyToMany''. Cuando realizamos relaciones bi-direccionales de las clases, desde Java podemos acceder a los elementos relacionados desde cualquier de los dos objetos de una relación. Para ello utilizaremos atributos únicos en el lado de ''@ManytoOne'' y colecciones (List, Set, Map) para el lado de ''@OneToMany'' o ''@ManyToMany''.
  
-Aunque las relaciones sean bidireccionales, hibernate enfoca las relaciones desde una jerarquía //**padre-hijo**//. Para asegurarnos de mantener la relaciones de forma correcta en la base de datos, añadiremos a las clases mapeadas una serie de métodos //utilitarios//.+Aunque las relaciones sean bidireccionales, hibernate enfoca las relaciones desde una jerarquía //**padre-hijo**//. Para asegurarnos de mantener la relaciones de forma correcta en la base de datos, añadiremos a las clases mapeadas una serie de //métodos utilitarios//.
  
 ===Relaciones 1:N=== ===Relaciones 1:N===
-En las relaciones 1:N ''@OneToMany'' y ''@ManyToOne'' es recomendable que contenga algunos métodos utilitarios para mantener las relaciones:+En las relaciones ''@OneToMany'' y ''@ManyToOne'' es recomendable que contenga algunos métodos utilitarios para mantener las relaciones:
  
 <code java> <code java>
apuntes/hibernate.1558128959.txt.gz · Última modificación: 2024/09/16 16:05 (editor externo)