Facade

Los Facade nos permiten interactuar con los documentos en las bases de datos en este caso MongoDB.

Crear un Facade para cada Entity

BahiaFacade

import com.avbravo.ejbtallerjsd.entity.Bahia;
import com.avbravo.ejbtallerjsd.provider.MongoClientProvider;
import com.avbravo.ejbjmoordb.mongodb.facade.AbstractFacade;
import com.mongodb.MongoClient;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author avbravo
 */
@Stateless
public class BahiaFacade extends AbstractFacade<Bahia> {
    @EJB
    MongoClientProvider mongoClientProvider;
    public BahiaFacade() {
        super(Bahia.class, "tallerjsd", "bahia");
    }

    @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);
    }

}

Si observa el facade Tipovehiculo solo se necesita indicar el nombre de la colección.

TipovehiculoFacade

@Stateless
public class TipovehiculoFacade extends AbstractFacade<Tipovehiculo> {
    @EJB
MongoClientProvider mongoClientProvider;

    public TipovehiculoFacade() {
        super(Tipovehiculo.class, "tallerjsd", "tipovehiculo");
    }

    @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);
    }

}

Last updated