Quote Originariamente inviata da Jamie04 Visualizza il messaggio
Ho visto che una persona ha usato un ArrayList di Integer (id) perché presumibilmente in Asta mantiene solo il riferimento (id) all'oggetto Offerta, stessa cosa per le informazioni. Per la persistenza i dati sono salvati tutti in un database di MapDB di tipo ConcurrentNavigableMap (non mi chiedere perché :-)). Pensi che così possa andar bene? Grazie ancora. Purtroppo non ho molta familiarità con le collection, quindi non saprei se una di loro sia meglio rispetto ad un ArrayList.
Giusto una premessa, visto che non hai familiarità con le collection. Quelle che ho detto prima List/Set/Map/Queue sono le interfacce (quindi astrazioni "pure") principali delle 4 tipologie di collezioni. Poi per ciascuna esistono svariate implementazioni. ArrayList e LinkedList sono le due implementazioni più note di List (ma ne esistono altre).
Quindi ArrayList NON è una cosa diversa da List ... ArrayList è-un List nel senso della relazione di ereditarietà.

Detto questo, invece riguardo le relazioni tra oggetti, mettiamola così. Se ragioniamo solo a livello di oggetti e loro relazioni (niente DB, ORM, ecc.. in ballo) se una asta deve avere nozione di N offerte, allora è giusto che in un oggetto Asta ci sia un "insieme" (detto in generale, può essere come ripeto array o collezione) di riferimenti ad oggetti Offerta. Questo è sensato a livello object-oriented.

MapDB non lo conosco in dettaglio (so cosa è) quindi non so dire ora se ha requisiti specifici nei confronti degli oggetti. Tenere solo gli Id ... non è sbagliato di per sé ma richiede allora che ci sia una architettura in generale tale per cui sia facile "tirar su" gli oggetti da DB a fronte del loro Id (e viceversa). Altrimenti è poco utile.