最近我开始尝试使用Play!框架,发现它非常棒,特别是在使用JPA模型方面。它可以帮助加快开发进程。 然而,正如建议的那样,我们应该只选择查询中必要的字段,而不是选择*。我应该如何使用JPA来选择一些字段而不是全部字段呢?是否必须使用JPQL?
最近我开始尝试使用Play!框架,发现它非常棒,特别是在使用JPA模型方面。它可以帮助加快开发进程。 然而,正如建议的那样,我们应该只选择查询中必要的字段,而不是选择*。我应该如何使用JPA来选择一些字段而不是全部字段呢?是否必须使用JPQL?
JPA.em().createQuery("select title,author from Article");
Article.find("select title from Article");
但不要尝试过快地进行优化,尽可能经常使用普通实体查找器,在性能敏感的查询中才使用自定义投影。最好围绕缓存物品而不是检索部分对象,因为这会破坏对象封装并且后续肯定会遇到麻烦。
虽然现在最好使用扩展play.models的实体,但是您仍然可以通过将查询结果键入为:
public static void myfunction(Long id)
{
String sqlQuery = "SELECT id FROM mytable WHERE propertie="+id;
Long resultId = Mytable.find(sqlQuery).first();
}