C'est par rapport à ma solution de mise en œuvre Paging & tri domaine Driven Conception avec l'intention de ne pas polluer les modèles de domaine et des contrats référentiel,mise en œuvre Pagination et tri avec le domaine Driven Conception
classe de base REST Demande
public class AbstractQueryRequest {
...
private int startIndex;
private int offset;
...
}
Interceptor pour récupérer les méta-données de requête et le stocker dans un contenant ThreadLocal
public class QueryInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
...
QueryMetaData.instance().setPageMetaData(/*Create and set the pageable*/);
}
}
conteneur pour les données de requête Meta
public class QueryMetaData {
private static final ThreadLocal<QueryMetaData> instance = new ThreadLocal<>() {
protected QueryMetaData initialValue() {
return new QueryMetaData();
}
};
public static QueryMetaData instance() {
return instance.get();
}
private ThreadLocal<Pageable> pageMetadata = new ThreadLocal<>();
public void setPageMetaData(Pageable pageable) {
pageMetadata.set(pageable);
}
public Pageable getPageMetaData() {
return pageMetadata.get();
}
//clear threadlocal
}
Je l'intention de récupérer cette valeur ThreadLocal dans le référentiel, si l'utilisation est disponible avec les requêtes au datastore.
J'espère que ce n'est peut-être pas une solution très sale, mais je veux savoir s'il existe un meilleur modèle largement utilisé pour cela.
double possible de [Pagination à NHibernate] (http://stackoverflow.com/questions/1605368/paging-in-nhibernate) – theDmi
J'espère sincèrement que ce ne soit pas le cas., ma question était plus liée à l'aspect conceptuel de DDD pour ne pas polluer le modèle de domaine avec infra (UI) souci de performance. et je voulais valider ma solution à ce problème. –