Repository Couchbase
Repository Couchbase
Es una clase que permite interactuar con una base de datos Couchbase, para ejecutar todas las operaciones. Cada entity debe tener definido un repository.
Existen dos formas de definir repository;
Repository para Java Standar Edition
Repository para Java Enterprise Edition
Procedimiento:
Heredar de la clase CouchbaseRepository<T>
En el constructor invocar el método
super(Entity.class,"basedatos","colección")
Por Ejemplo:
super(Planetas.class, "myappdb", "planetas");
Implementar el método
protected Cluster getCluster()
Implementar el método
public Object findById(String key, String value)
Implementar el método
public Object findById(String key, Integer value)
Facade para Java Standard Edition
public class PlanetasRepository extends CouchbaseRepository<Planetas> {
CouchbaseClientProvider couchbseclientProvider = new CouchbaseClientProvider();
public PlanetasRepository() {
super(Planetas.class, "default", "planetas");
}
@Override
protected Cluster getCluster() {
return couchbseclientProvider.getCluster();
}
@Override
public Object findById(String key, String value) {
return search(key, value);
}
@Override
public Object findById(String key, Integer value) {
return search(key, value);
}
}
Facade para Java Enterprise Edition
Para la versión Enterprise Edition de Java definimos los Repository de manera sencilla
Procedimiento:
Injectar CouchbaseClientProvider
En el constructor invocar el método
super(Entity.class,"basedatos,"coleccion") super(Planetas.class, "myappdb", "planetas");
Implementar el método protected Cluster getCluster()
Ejemplo
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.ejb.Stateless;
/** *
@author avbravo */
@Stateless
public class PlanetasRepository extends CouchbaseRepository<Planetas> {
@EJB
CouchbaseClientProvider couchbseclientProvider;
@Override
protected Cluster getCluster() {
return couchbseclientProvider.getCluster();
}
public PlanetasRepository() {
super(Planetas.class, "default", "planetas");
}
@Override
public Object findById(String value, String key ){
return search(key, value);
}
@Override
public Object findById(String value, Integer key) {
return search(key, value);
}
}
Last updated
Was this helpful?