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 回答