classi java e query di database

3

Qualcuno può spiegare il modo migliore per risolvere questo problema.

Supponiamo che abbia tre classi

  1. Person

  2. Venue

  3. Vehicle

Ho un metodo DAO che deve restituire alcuni o tutti questi attributi da ciascuna classe dopo aver fatto una query.

Si noti che, per requisiti, utilizzo un DAO per tutte e tre le classi e nessun framework. Solo la mia implementazione MVC

Come posso realizzare questo? Sembra molto sbagliato creare una classe PersonVenueVehicle e restituirla come oggetto per ottenere il campo istanza, valori.

Mi è stato insegnato che le entità del database devono essere riflesse dalle classi, se questo è il caso in che modo viene implementato in una situazione del genere?

    
posta Marc 04.04.2013 - 02:54
fonte

2 risposte

0

Inizia con metodi che eseguono una query specifica e restituisci solo i dati di cui hai bisogno, al contrario di un metodo più complesso che può restituire molte combinazioni di dati.

Immagino che ci sia un qualche tipo di relazione tra le classi che hai menzionato, come ad esempio che un Person ha uno o più Vehicle s, e forse viaggiano comunemente a uno o più Venue s, quindi modello le tue classi per riflettere quelle relazioni. In questo esempio, il tuo oggetto Person conterrà un List<Vehicle> e un List<Venue> .

Quindi, se devi recuperare un Person e tutti i relativi dati associati, crea un metodo DAO per restituire un singolo oggetto Person con le sue raccolte caricate.

Se vuoi solo Person con il loro Vehicle s, crea un metodo DAO per restituire un oggetto Person con il loro List<Vehicle> caricato e il loro List<Venue> null.

Se desideri un elenco di Person s e non hai immediatamente bisogno del loro Vehicle s o Venue s, restituisci un List<Person> con insiemi nulli.

    
risposta data 04.04.2013 - 14:42
fonte
0

Se stai recuperando un oggetto o un elenco di oggetti, usa un oggetto per query sul controller. Se vuoi recuperare un messaggio da dire in JSON o XML, allora DAO agisce come una facciata e può interrogare diversi attributi di classe.

    
risposta data 04.04.2013 - 12:56
fonte

Leggi altre domande sui tag