我有一个疑问,我希望有人能给我一些光明。Normaly我使用JSF和EJB/JPA执行我的项目,因此,当ai需要从数据库获得一些数据时,我有两种方法:
类似于:
//on managed bean
...
List<Person> listPersons = personFacade.findAll();
return filterByName(filterByAge(filterBySomething(listPersons )));对我来说,第二种选择更容易做到,但我不确定这是否是最好的方法。
发布于 2013-09-23 13:07:03
通常,您使用Java持久性查询语言定义“筛选器”,并让JPA容器完成其工作.
http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
JPQL被转换为SQL,因此数据库正在做这项工作,并且只将过滤的实体bean返回到应用程序的EJB层。
相反,如果稍后对它们进行筛选,则必须首先将整个数据库表加载到内存中。因此,将为每条记录创建一个实体bean,但之后不久就会丢弃它,因为它已从列表中筛选出来。
https://stackoverflow.com/questions/18959987
复制相似问题