Tengo una aplicación web funcionando en donde he usado Struts, Hibernate y Spring.
Hasta ahora no había relaciones entre las tablas de mi base de datos pero he decidido incorporar una relación Muchos-a-Uno (Many-to-One) a mi aplicación. Estoy usando anotaciones y he encontrado ejemplos donde he visto como se hace y bueno, la verdad es que creo que está bien. La cosa es:
Tengo una tabla Categoria cuyos campos son:
Id (Int)
Nombre (String)
Tengo una tabla PuntoLimpio cuyos campos son:
Id (Int)
Provincia (String)
Localidad (String)
Direccion (String)
Etc..
Tengo una tabla PuntoLimpioTieneCategoria cuyos campos son:
Id (Int)
puntolimpio_id (Int) (es una FK hacia la id de la tabla PuntoLimpio)
categoría_id (Int) (es una FK hacia la id de la tabla Categoria)
La cuestión es que tengo un formulario en donde hago una búsqueda de puntos limpios y uno de los parámetros nuevos de mi búsqueda es por Categoria. (Hasta ahora funciona bien buscando solo por provincia y localidad)
Entonces hasta ahora yo tenía implementado en mi clase PuntoLimpioDaoHibernate una búsqueda solo por provincia y por localidad pero ahora quiero añadir otro campo que busque también por categoría.
La sentencia en SQL se como es:
SELECT DISTINCT p.* FROM puntolimpio as p, categoria as c, puntolimpio_tiene_categoria as pc WHERE p.id = pc.puntolimpio_id AND c.id = pc.categoria_id AND c.id = 4;
Nota: En esta caso estoy buscando puntos limpios con categoria = 4.
Pero no se como hacer que desde la clase PuntoLimpioDaoHibernate de mi aplicación llame a las tablas de Categoria y PuntoLimpioTieneCategoria.
No sé si se me ha entendido pero si tenéis alguna duda os lo vuelvo a explicar.
Por favor a ver si alguien me puede echar una mano ya que llevo tiempo leyendo sobre esto y no sé cómo encauzarlo. Si necesitan que postee algo de código, también, no hay problema ;)
Gracias por adelantado!
Samuel.