0

プロバイダーとしてHibernateを使用。

パフォーマンス(またはその他)の観点から、どのタイプのパラメーターを使用するのが適切ですか? そしてなぜ?

ポジショナル

TypedQuery<Client> query = em.createQuery
  ("FROM Client c WHERE c.clientId = ?1",Client.class);
query.setParameter(1, clientId);

または名前付き

TypedQuery<Client> query = em.createQuery
  ("FROM Client c WHERE c.clientId = :clientId",Client.class);
query.setParameter("clientId", clientId);
4

1 に答える 1

5

この場合、実際にパフォーマンスを考慮する必要はありません。名前付きパラメーターは、コードの読みやすさの向上に役立ちます数ナノ秒程度遅くても、それに固執する必要があります。

TypedQuery<Client> query = em.createQuery
  ("FROM Client c WHERE c.clientId = :clientId",Client.class);
query.setParameter("clientId", clientId);

上記の行では、 の値を設定していることは明らかですclientIdそれはシンプルで、鮮明で明確であり、どのようにコーディングしたいかです.

于 2012-04-25T05:25:39.110 に答える