Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Realizzare classi DAO (Data access object)

    Sto familiarizzando con l'approccio BCED (Boundary Control Entity Database).
    Devo capire come realizzare le classi DAO.
    So che deve esistere una classe DAO per ogni classe del package Entity, responsabile della creazione, lettura, update e cancellazione dell'oggetto nel DB.

    Ho alcuni dubbi a riguardo:

    1) Ogni classe di Entity avrà una corrispondente tabella nel DB in cui le tuple rappresentano i vari oggetti istanziati?

    2) Se ho un oggetto che abbia un arraylist, come lo rappresento nel DB?
    /*NO COMMENT*/

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Linguaggio? Hai letto il Regolamento?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Il linguaggio che vorrei usare è Java, ma la domanda che ho posto è indipendente dal linguaggio, per questo non l'ho indicato
    /*NO COMMENT*/

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    se usi java c'è hibernate che fa questo (e taaaanto altro) lavoro per te e sicuramente lo fa meglio

    In ogni modo che lo faccia tu o lo faccia hibernate:

    1) in generale si ma non è detto. Nelle entity puoi usare tutto cio che l'oop ti permette di fare e il modello relazionale no, oppure avere proprietà calcolate che non esistono nel db. L'importante è che da qualche parte ci sia qualcuno che sappia come tradurre l'entity in una tupla e viceversa attraverso cio che viene definito mapping.

    2) un array di B in A equivale ad una relazione uno a molti da A verso B nel db. Percio l'array è una proprietà con metodo get che internamente fa una join.

  5. #5
    Credo d'aver capito, grazie
    /*NO COMMENT*/

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da MaStErYuRi
    Il linguaggio che vorrei usare è Java, ma la domanda che ho posto è indipendente dal linguaggio, per questo non l'ho indicato
    I linguaggi non hanno le stesse caratteristiche, né gli stessi strumenti a disposizione.

    Correggo e sposto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Cercando sul web ho trovato questa discussione di circa un mese fa. Avendo una domanda molto simile ho pensato di non aprirne un'altra.

    Ho progettato una entity (Intervento) con 2 DAO diverse (InterventoDAO e PazienteDAO) perche' nel database sono memorizzate 2 tabelle (intervento e paziente) e la entity preleva le informazioni da entrambe.
    Ma il pattern DAO dice che ogni entity deve avere una sola DAO, quindi ho pensato di fare un'altra DAO usata da Intervento chiamata InterventoPazienteDAO che si accoppi con InterventoDAO e PazienteDAO. Il problema e' che per come ho capito non si possono avere due DAO accoppiate.

    Generalizzando come progettare le DAO sapendo che una entity ha bisogno di informazioni presenti in piu' tabelle? Nel mio caso sono 3 tabelle: intervento, paziente e interventoPaziente, sono addirittura 3 perche' era necessario che il database fosse in 5NF.

    PS.
    In effetti MaStErYuRi ha pienamente ragione, questa discussione astrae dal linguaggio di programmazione, il problema e' implementabile in java come lo e' in C++, in C#, php, ....
    Aiuto utenti linux, esercizi svolti di matematica e teoria (statistica e analisi), strumenti matematici vari (scomposizione fattori primi, permutazioni, ...), progetti software didattici con documentazioni. Tutto qui : http://pierprogramm.altervista.org/wordpress

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.