Tallercm
  • Introduction
  • Introduccion
  • Capitulo 1- EJB MongoDB
    • Capitulo 1 EJB
      • Instalar MongoDB
      • Proyecto EJB
      • Agregar Dependencias
      • MongoClientProvider
      • Enity
      • Facade
      • Converter
      • DataModel
      • Distribuir el EJB
  • Capitulo 2 Proyecto Web
    • Capitulo 2 Proyecto JavaEE
      • Crear proyecto
      • Dependencias
      • Archivo Properties
      • Crear el Template
      • top
      • cambiar Logo
      • left
      • footer
      • template
      • web.xml
      • ejemplo
      • index
      • Capitulo 4. Login
        • paquete util
        • login Controller
        • login.xhtml
  • Capitulo 3 Crud
    • Capitulo 3 CRUD
      • Interfaces
      • Controller
      • Pagina create
      • Pagina list
      • Pagina View
      • Reporte
  • Capitulo 4 Reportes
    • Capitulo 4 Reportes
      • plugin iReport
      • Crear reporte
  • Capitulo 5. Embebidos Referenciados
    • Capitulo 5. Documento Embebido
Powered by GitBook
On this page
  • Definir el entity Categorias.java
  • Crear el Facade CategoriasFacade

Was this helpful?

  1. Capitulo 5. Embebidos Referenciados

Capitulo 5. Documento Embebido

Un documento embebido es aquel cuyo contenido se almacena dentro de otro, en jmoordb se representa mediante la anotación @Embedded

Crear un Entity en el proyecto ejbtallerjsd, y denominarlo Categorias.java

Definir el entity Categorias.java

@Getter
@Setter
public class Categorias {

    @Id
    private String idcategoria;
    private String categoria;

    @Embedded
    private Tipovehiculo tipovehiculo;

    public Categorias() {
    }

    public Categorias(String idcategoria, String categoria, Tipovehiculo tipovehiculo) {
        this.idcategoria = idcategoria;
        this.categoria = categoria;
        this.tipovehiculo = tipovehiculo;
    }


    @Override
    public String toString() {
        return "Categorias{" + "idcategoria=" + idcategoria + ", categoria=" + categoria + ", tipovehiculo=" + tipovehiculo + '}';
    }


}

Esto indica que al guardar un documento dentro de la coleccion categorias, se guardara tambien todo el documento Tipovehiculo dentro de el.

Categorias{ "idcategoria","deportivo", "categoria":"Deportivo",

                "tipovehiculo":{"idtipovehiculo":"sedan","tipovehiculo":"Sedan"}

               }

La ventaja es que el acceso es más rapido a la información del tipo del vehiculo, pero la desventaja sera que aumentara más el espacio necesario para almacenarlo, y si se actualiza el tipo de vehiculo, sera necesario implementar a nivel de programación la actualización de cada uno de los documentos donde se haya almacenado el tipovehiculo.

Crear el Facade CategoriasFacade

@Stateless
public class CategoriasFacade extends AbstractFacade<Categorias> {
    @EJB
MongoClientProvider mongoClientProvider;
    public CategoriasFacade() {
        super(Categorias.class, "tallerdb", "categorias");
    }

    @Override
    protected MongoClient getMongoClient() {
       return mongoClientProvider.getMongoClient();
    }

   @Override
    public Object findById(String key, String value) {
       return search(key,value);
    }

    @Override
    public Object findById(String key, Integer value) {
        return search(key,value);
    }

}

Construir el proyecto nuevamente para que refleje los cambios.

PreviousCrear reporte

Last updated 6 years ago

Was this helpful?