我有一张桌子:
User: id, name, age, role_key
其中Id是唯一标识符。 我想要检索具有特定role_key的所有用户。
我可以这样做:
entityManager.createQuery(
"SELECT u From user WHERE user.role_key LIKE :roleKey")
.setParameter("roleKey", roleKey)
.getResultList();
但我想知道是否有更好的方法来编写查询。
例如,如果我想通过使用Id来检索,我可以使用find
。但是,因为我使用的是不唯一的role_key,所以我不需要在这里编写完整的选择查询。
由于
答案 0 :(得分:1)
除了JonK的评论之外,我还建议您使用@NamedQuery来提高性能,因为您的查询是参数化查询。 对不起,这应该是评论,但我的代表。不允许我。