Un objeto Team se puede almacenar con una sóla línea de código:
db.set(t1);
Donde db es una referencia a un objeto ObjectContainer, que se haya creado abriendo un fichero de base de datos, de esta forma:
ObjectContainer db = Db4o.openFile(filename);
Una base de datos db4o es un único fichero con una extensión .yap, y se utiliza su método set para almacenar objetos.
Observe que está linea almacena el objeto Team y su colección de objetos Player. Se puede probar esto recuperando uno de esos objetos Player. La forma más simple de hacer esto es utilizando QBE.
El siguiente código lista todos los objetos Player que sean iguales al objeto de ejemplo; sólo debería haber un resultado. Los resultados se obtienen como un ObjectSet llamando al método get de ObjectContainer.
Player examplePlayer = new Player("Barry Bonds",0,0f);
ObjectSet result=db.get(examplePlayer);
System.out.println(result.size());
while(result.hasNext()) {
System.out.println(result.next());
}
Se pueden obtener todos los objetos Player que se hayan almacenado creando un objeto de ejemplo vacío (todos son campos son null o 0), de esta forma:
Player examplePlayer = new Player(null,0,0f);
ObjectSet result=db.get(examplePlayer);
System.out.println(result.size());
while(result.hasNext()) {
System.out.println(result.next());
}
La salida se parecería a esto:
8
Kazuhisa Ishii:0.127, 13
Shawn Green:0.266
Cesar Izturis:0.288
Adrian Beltre:0.334
Kirk Rueter:0.131, 9
Ray Durham:0.282
Marquis Grissom:0.279
Barry Bonds:0.362
Observe que se pueden recuperar todos los objetos de la clase Player y de todas sus subclases (como Pitcher en este ejemplo) sin ningún exfuerzo extra. Los objetos Pitcher muestran en la salida un atributo más: wins.
Con una base de datos relacional tendríamos que decidir cómo mapear el
árbol de herencia a tablas y posiblemente hubieramos tenido que unir
tablas para recuperar todos los atributos de todos lo objetos.
La actualización de objetos se pude consegir utilizando una
combinación de las técnicas anteriores. El siguiente código asume que
sólo se ha encontrado una correspondencia, y el objeto encontrado se
fuerza a Player para poder modificar sus atributos:
Player examplePlayer = new Player("Shawn Green",0,0f);
ObjectSet result = db.get(examplePlayer);
Player p = (Player) result.next();
p.setBattingAverage(0.299f);
db.set(p);
De forma similar se pueden borrar objetos de la base de datos:
Player examplePlayer = new Player("Ray Durham",0,0f);
ObjectSet result = db.get(examplePlayer);
Player p = (Player) result.next();
db.delete(p);
Blog referente al grupo de investigación y desarrollo (MHProject) realizado en la Universidad Pública de Navarra por más de 12 personas. El proyecto se basa en el desarrollo e investigación de aplicaciones y sistemas para Televisión Digital Interactiva desarroladas sobre Java y basadas en el estandard abierto MHP (Multimedia Home Platform).
Hola que tal soy Alejandro Fanjul, webmaster y fundador de MHProject, para cualquier consulta por favor dirigirse a: alex.fanjul@mhproject.org
| Lun | Mar | Mie | Jue | Vie | Sab | Dom |
|---|---|---|---|---|---|---|
| << < | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
Documento Introducción a la Televisión DigitalPresentacion Introducción a la Television DigitalCompresión Vídeo standard MPEG2Compresión Imagen standard JPEGSDI: Señal de Vídeo en estudiosSistemas Vídeo Digital - DVBTelevisión Digital Interactiva - MHP
]más
Palbin es un Servicio que te permite crear tu Tienda Online fácil y rápidamente, y vender por Internet sin necesidad de conocimientos técnicos.
¿Qué ventajas tiene?
]más
Enlace a web con applet incrustado. Necesario aceptar la firma digital.
]más
]más

Esta obra está bajo una licencia de Creative Commons.