Implementación Repository de Auditoria
Algunos requerimientos que se asumen parte de la estructura. Debemos crear dos Repository.
Nombre
Descripción
AccessInfoRepository
Define la colección y bases de datos donde se manejaran los documentos tipoAcessInfo.
RevisionHistoryRepository
Define la colección y bases de datos donde se manejaran los documentos tipo RevisionHistory.
Facade: AccessInfoFacade.java
Bases datos: horariosseguridad_history. La base de datos generalmente usamos la misma de producción o podemos incluir otra base de datos por ejemplo _history, para que se almacenen en esa base de datos y no en la principal.
@Stateless
public class AccessInfoRepository extends AbstractRepository<AccessInfo> {
@EJB
MongoClientProvider mongoClientProvider;
@Override
protected MongoClient getMongoClient() {
return mongoClientProvider.getMongoClient();
}
public AccessInfoFacade(){
super(AccessInfo.class,"horariosseguridad_history","accessinfo");
}
public AccessInfoRepository(Class<AccessInfo> entityClass, String database, String collection, Boolean... lazy) {
super(entityClass, database, collection, lazy);
}
@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: RevisionHistoryRepository.java
Bases datos: horariosseguridad_history.
@Stateless
public class RevisionHistoryRepository extends AbstractRepository<RevisionHistory>{
@EJB
MongoClientProvider mongoClientProvider;
@Override
protected MongoClient getMongoClient() {
return mongoClientProvider.getMongoClient();
}
public RevisionHistoryRepository(){
super(RevisionHistory.class,"horariosseguridad_history","revisionhistory");
}
@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
Was this helpful?