加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 什么是命名查询?

发布时间:2020-12-12 06:57:09 所属栏目:MsSql教程 来源:网络整理
导读:我已经阅读了它的定义,但不能完全理解。 解决方法 让我猜测:你已经绊倒了命名查询的概念,并且想知道它在SQL中的适用范围。 那么,从我的知识来看,命名查询与“纯”SQL没有任何关系,但它们是各种ORM(对象关系映射)框架ala Java Persistence API中的一个概
我已经阅读了它的定义,但不能完全理解。

解决方法

让我猜测:你已经绊倒了命名查询的概念,并且想知道它在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实现可以在启动时检查命名查询的有效性,所以在某种程度上,你有安全的类型检查。这将有助于在运行时减少错误。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读