Sunteți pe pagina 1din 6

BITACORA II Uniremington

Cristhian Eduardo Paredes Pérez


Lenguaje de programación avanzado ll
HIBERNATE

Hibernate es una herramienta de mapeo objeto-relacional (ORM) bajo licencia GNU LGPL
para Java, que facilita el mapeo de atributos en una base de datos tradicional, y el modelo
de objetos de un aplicación mediante archivos declarativos o anotaciones en los beans de
las entidades que permiten establecer estas relaciones. Todo lo dicho, que suena a
vendedor de seguros, se resume en que agiliza la relación entre la aplicación y nuestra
base de datos SQL, de un modo que optimiza nuestro flujo de trabajo evitando caer en
código repetitivo.

COMO FUNCIONA HIBERNATE


En la mayoría de los programas actuales existen dos modelos de datos que coexisten: el
usado en la memoria de la computadora (orientación a objetos), y el usado en las bases de
datos (modelo relacional). Hibernate busca solucionar el problema de la diferencia entre
ambos modelos. Para lograr esto, nos permite detallar cómo es su modelo de datos, qué
relaciones existen y qué forma tienen mediante un documento XML, o mediante
anotaciones donde corresponde un atributo de una clase, con una columna de una tabla.
En la actualidad es una tarea simple, pues existen herramientas que lo hacen por
nosotros.

ORM

Object-Relational mapping o mapeo de objetos-relacional, es un modelo de programación


que consiste en la transformación de las tablas de una base de datos, en una serie de
entidades que simplifique las tareas básicas de acceso a los datos para programador.
Aunque el lenguaje SQL se usa para acceder a muchas de las bases de datos existentes,
existen múltiples varianzas en las funciones que los distintos SGBD han usado. Un ejemplo
muy sencillo sería delimitar el número de registros de una consulta:
SELECT TOP 10 * FROM usuario //SqLServer
SELECT * FROM usuarios LIMIT 10 // MySQL
SELECT * FROM usuarios WHERE rownum<=20; //Oracle

Ventajas y desventaja de una ORM


Ventajas

 Facilidad y velocidad de uso.


 Abstracción de la base de datos usadas.
 Seguridad de las capas de acceso.
Desventajas

 En entorno con gran carga pone una capa más en el proceso que puede mermar el
rendimiento.
 Aprender el nuevo lenguaje del ORM.

ORMs más utilizados

Java -> Hibernate, iBatis, Ebeans entre otros.


.NET -> Entity Framework, nHibernate, entre otros.
PHP -> Doctrine, Propel, ROcks, Torpor etc.

Una clave primaria es un campo (o varios) que identifica 1 solo registro (fila) en una tabla.

Para un valor del campo clave existe solamente 1 registro. Los valores no se repiten ni
pueden ser nulos.

Veamos un ejemplo, si tenemos una tabla con datos de personas, el número de


documento puede establecerse como clave primaria, es un valor que no se repite; puede
haber personas con igual apellido y nombre, incluso el mismo domicilio (padre e hijo por
ejemplo), pero su documento será siempre distinto.
Si tenemos la tabla "usuarios", el nombre de cada usuario puede establecerse como clave
primaria, es un valor que no se repite; puede haber usuarios con igual clave, pero su
nombre de usuario será siempre distinto.
Establecemos que un campo sea clave primaria al momento de creación de la tabla:

create table usuarios (


nombre varchar(20),
clave varchar(10),
primary key(nombre)
);
Para definir un campo como clave primaria agregamos "primary key" luego de la
definición de todos los campos y entre paréntesis colocamos el nombre del campo que
queremos como clave.
Si visualizamos la estructura de la tabla con "describe" vemos que el campo "nombre" es
clave primaria y no acepta valores nulos(más adelante explicaremos esto detalladamente).
Ingresamos algunos registros:
insert into usuarios (nombre, clave)
values ('Leonardo','payaso');
insert into usuarios (nombre, clave)
values ('MarioPerez','Marito');
insert into usuarios (nombre, clave)
values ('Marcelo','River');
insert into usuarios (nombre, clave)
values ('Gustavo','River');

Si intentamos ingresar un valor para el campo clave que ya existe, aparece un mensaje de
error indicando que el registro no se cargó pues el dato clave existe. Esto sucede porque
los campos definidos como clave primaria no pueden repetirse.

Ingresamos un registro con un nombre de usuario repetido, por ejemplo:

insert into usuarios (nombre, clave)


values ('Gustavo’, ‘Boca');

Una tabla sólo puede tener una clave primaria. Cualquier campo (de cualquier tipo) puede
ser clave primaria, debe cumplir como requisito, que sus valores no se repitan.

Al establecer una clave primaria estamos indexando la tabla, es decir, creando un índice
para dicha tabla; a este tema lo veremos más adelante.

Tipos de datos

Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores


puede tomar), qué operaciones se le pueden aplicar y cómo es representado
internamente por el computador.

Todos los valores que aparecen en un programa tienen un tipo.


A continuación revisaremos los tipos de datos elementales de Python. Además de éstos,
existen muchos otros, y más adelante aprenderemos a crear nuestros propios tipos de
datos.

Números Enteros

El tipo int (del inglés integer, que significa «entero») permite representar números
enteros.

Los valores que puede tomar un int son todos los números enteros: ... -3, -2, -1, 0, 1, 2, 3,

Valores Lógicos

Los valores lógicos True y False (verdadero y falso) son de tipo bool, que representa
valores lógicos.

El nombre bool viene del matemático George Boole, quien creó un sistema algebraico
para la lógica binaria. Por lo mismo, a True y False también se les llama valores
booleanos. El nombre no es muy intuitivo, pero es el que se usa en informática, así que
hay que conocerlo.

Números Reales

El tipo float permite representar números reales.

El nombre float viene del término punto flotante, que es la manera en que el computador
representa internamente los números reales.

Hay que tener mucho cuidado, porque los números reales no se pueden representar de
manera exacta en un computador. Por ejemplo, el número decimal 0.7 es representado
internamente por el computador mediante la aproximación 0.69999999999999996.

Números Complejos

El tipo complex permite representar números complejos.

Los números complejos tienen una parte real y una imaginaria. La parte imaginaria
es denotada agregando una j inmediatamente después de su valor:

3 + 9j

-1.4 + 2.7j
Texto

A los valores que representan texto se les llama strings, y tienen el tipo str.

Nulo

Existe un valor llamado None (en inglés, «ninguno») que es utilizado para representar
casos en que ningún valor es válido, o para indicar que una variable todavía no tiene un
valor que tenga sentido.

El valor None tiene su propio tipo, llamado None Type, que es diferente al de todos los
demás valores.

S-ar putea să vă placă și