我有一个 Java Web 应用程序,使用 JPA 进行存储,并遵循 MVC 模式。在许多方法中,我必须返回一个List<Product>
我应该按其名称订购的。在哪里包含排序逻辑更好?
在像这样的控制器方法中,Query
本身:
public List<Product> obtainProductList()
{
Query query = em.createQuery("SELECT g FROM Product g ORDER BY g.name");
List<Product> ret = query.getResultList();
if (ret == null)
{
return new ArrayList<>();
}
else
{
return ret;
}
}
或者可能在将数据检索到页面本身的时候在 Manager 类中?:
public List<Product> getProducts()
{
products = controller.obtainProductList();
//Sort the list by comparators, for example;
return this.products;
}
目前我正在通过第一种方法来做,但我对新方法持开放态度。