将实体映射到视图时是否需要@NamedQuery?

时间:2016-04-28 20:28:51

标签: jpa spring-data-jpa

从网上的许多例子中,我看到人们在他们的实体类之前添加@NamedQuery,我删除了注释并且它仍然有效,所以我很好奇是否有必要始终将这个注释添加到实体中?顺便说一下,我使用Spring数据作为JPA供应商。

这里的最佳做法是什么?为什么?

@Entity
@NamedQuery(name = "User.findByEmailAddress",
  query = "select u from User u where u.emailAddress = ?1")
public class User {
  //Do stuff
}

1 个答案:

答案 0 :(得分:0)

不,不需要命名查询。它们允许您预定义查询,然后在运行时使用它们,而不是动态创建每个查询。这在文档here

中有所描述