我已经阅读了其定义,但无法完全理解。
最佳答案
让我猜:您偶然发现了命名查询的概念,并且想知道它在SQL中的位置。
好吧,据我所知,命名查询与“纯” SQL没有任何关系,但是它们是在各种ORM(对象关系映射)框架ala Java Persistence API中发现的一个概念。
基本上,命名查询是将名称映射到查询的一种方式,该查询可能在代码中的不同位置多次调用。
所以,而不是使用
"SELECT i FROM Item i WHERE i.product.categoryID LIKE :cID"
作为代码中各个位置的字符串,请使用以下命令:
@NamedQuery(
name="MyEntity.getItemsPerProductCategory",
query="SELECT i FROM Item i WHERE i.product.categoryID LIKE :cID"
)
然后,您使用
MyEntity.getItemsPerProductCategory
引用此查询。示例取自this site。
您可能想知道为什么这很有用?
像Hibernate这样的JPA实现可以在启动时检查命名查询的有效性,因此,以一种方式,您可以进行安全的类型检查。这将有助于减少运行时的错误。
关于sql - 什么是命名查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4517069/