Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/09/2015, 14:25
Avatar de Profesor_Falken
Profesor_Falken
 
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Comunicación con la base de datos ¿Siempre usar objetos?

Cita:
Iniciado por OctavioLinares Ver Mensaje
1) Suponiendo que tengo la clase Empresa que representa a una tabla con 10 campos y sólo necesito obtener los datos de 2 campos ¿Téngo que buscar la empresa en la base de datos y llenar los 10 atributos de la clase? Para mi esto supone un problema de trabajo extra para el RDBMS.

2) La tabla Empresas tiene una clave foránea que es el id del estado donde se ubica. Si en la aplicación lo que queiro es obtener el nombre del estado ¿Cómo realizo esto?

3) En base de datos existen lo que se llaman vistas que pueden ser el resultado de una consulta de unión de distintas tablas. ¿Si quiero obtener los datos de una vista tengo que crear una clase de entidad que respresente a la vista?
1) O bien recuperas la empresa con un find a partir del id, o bien utilizas HQL para recuperar los campos especificos que necesitas. http://stackoverflow.com/questions/1...hat-is-the-equ

2) Bien a traves de objectos: empresa.getEstado().getNombre(); o bien directamente por HQL: empresa.estado.nombre.

3) La puedes mapear con @Table exactamente de la misma forma que haces con las tablas.


Cita:
¿Siempre usar objetos?
No es obligatorio en obligatorio. No se que framework utilizas, pero yo no conozco ninguno que obligue a utilizar una implementacion JPA.
Puedes perfectamente utilizar SQL del mismo modo que hacias con VB utilizando JDBC: http://www.oracle.com/technetwork/ja...ew-141217.html
Aqui tienes un tutorial: http://www.tutorialspoint.com/jdbc/

Tambien existen montones de librerias que permiten hacer las consultas mas facilmente. Yo te propongo JDBI, que presenta una api fluida muy practica: http://jdbi.org/


Un saludo
__________________
If to err is human, then programmers are the most human of us

Última edición por Profesor_Falken; 30/09/2015 a las 00:53