以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);
答案 0 :(得分:4)
在这种情况下,您不应该真正考虑性能,命名参数有助于提高代码的可读性。即使它慢了几个纳秒左右你应该坚持下去。
TypedQuery<Client> query = em.createQuery
("FROM Client c WHERE c.clientId = :clientId",Client.class);
query.setParameter("clientId", clientId);
在上面的行中,很明显您要设置clientId
的值。 简单,清晰,清晰,以及您希望如何编码。