【问题标题】:What is the benefit of the NamedQuery annotation in JPA?JPA 中的 NamedQuery 注解有什么好处?
【发布时间】:2015-04-13 15:42:11
【问题描述】:

刚才我为 JPA 实体写了NamedQuery,对此我感到非常高兴。

在这里。

@NamedQuery(name=Panties.RED_PANTIES_QRY, query="SELECT p FROM Panties p WHERE p.color = red")
public class Panties implements Serializable {

    public static final String RED_PANTIES_QRY = "panties.red_panties";

   //getters and setters

}

随用法

  entityManager.createNamedQuery(Panties.RED_PANTIES_QRY).getResultList();

也可以省略NamedQuery 注释而直接做

public class Panties implements Serializable {

        public static final String RED_PANTIES_QRY = "SELECT p FROM Panties p WHERE p.color = red";

       //getters and setters

    }

随用法

entityManager.createQuery(Panties.RED_PANTIES_QRY).getResultList();

所以问题是。第一个例子有什么好处?

【问题讨论】:

    标签: jpa


    【解决方案1】:

    主要好处是命名查询通常在应用程序启动时得到验证和解析。这意味着如果它有任何问题,将立即报告,并且应用程序不会启动。

    除了验证之外,查询只需准备一次,即可在应用中的任何位置使用。因此,命名查询的任何后续使用都不会导致任何额外的处理,这有利于性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 2015-06-13
      • 1970-01-01
      • 2015-05-18
      • 2014-07-07
      • 2010-09-13
      相关资源
      最近更新 更多