Foros del Web » Programación para mayores de 30 ;) » Programación General »

Mapeo Objeto Relacional

Estas en el tema de Mapeo Objeto Relacional en el foro de Programación General en Foros del Web. Tengo una aplicación Orientada o Objetos con una clase Oficina: class Oficina { private int id; private String nombre; private String localidad; private String provincia; ...
  #1 (permalink)  
Antiguo 18/11/2010, 11:03
 
Fecha de Ingreso: diciembre-2002
Mensajes: 50
Antigüedad: 21 años, 4 meses
Puntos: 0
Exclamación Mapeo Objeto Relacional

Tengo una aplicación Orientada o Objetos con una clase Oficina:

class Oficina
{
private int id;
private String nombre;
private String localidad;
private String provincia;
...
}

En la base de datos, tengo las siguientes tablas:

oficina (int id, string nombre, int localidad, int provincia , ...)
provincias (int id, string provincia)
localidades (int id, int idProvincia, string localidad)

Mi pregunta es:
¿Qué cambios debo hacer para mapear de la mejor forma posible los campos localidad y provincia de la clase Oficina a relacional?
Tened en cuenta que en el objeto Oficina la localidad y provincia son strings, sin embargo en la tabla oficina de la base de datos son int.

Opciones que se me ocurren:

1) Utilizar un ORM - La descarto porque a estas alturas del proyecto tendría que recodificar gran parte.

2) Que Provincia en vez de un String sea una clase con atributos (id,nombreProvincia) y Localidad otra clase con atributos (id,nombreProvincia,nombreLocalidad) y crear métodos para acceder a cada uno de estos atributos. Así por ejemplo, a la hora de insertar una oficina en la tabla oficinas insertaría en el campo provincia: provincia.id
Lo que no me gusta de esta solución es que no me parece del todo adecuado que Provincia y Localidad sean clases (no tiene mucho sentido que Provincia sea una clase ¿no?).

3) Que el mapeo se realice en la capa de datos, eso me obligaria a hacer varias consultas (una para conocer el idProvincia) del objeto Oficina (ya que del objeto oficina sólo conozco el string provincia, no su id) y otra para la inserción de la oficina en la tabla oficinas.
Para el caso de localidades, pues tendría que hacer más consultas.
Esta solución creo que sobrecarga en exceso la base de datos.

Última edición por rebeca22; 19/11/2010 a las 12:33

Etiquetas: mapeo, objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.