我正在创建一个REST服务,起初很简单,但现在我想在列中获取具有特定值的表行。
这是我现在拥有的NamedQueries的一个例子:
@NamedQuery(name = "ExampleTable.findAll", query = "SELECT e FROM ExampleTable e"),
@NamedQuery(name = "ExampleTable.findById", query = "SELECT e FROM ExampleTable e WHERE e.id = :id"),
@NamedQuery(name = "ExampleTable.findByAmlClientCategory", query = "SELECT e FROM ExampleTable e WHERE e.amlClientCategory = :amlClientCategory"),
@NamedQuery(name = "ExampleTable.findByClientId", query = "SELECT e FROM ExampleTable e WHERE e.clientId = :clientId")
现在,如果我想通过特定的AmlClientCategory值找到,请说出AmlClientCategory列中包含“1”的所有行,我该怎么做?
我正在关注this指南以创建我的REST服务。
非常感谢任何帮助!
答案 0 :(得分:2)
你可以像这样执行它(假设AmlClientCategory是一个字符串):
List<ExampleTable> results = em.createNamedQuery("ExampleTable.findByAmlClientCategory", ExampleTable.class)
.setParameter("AmlClientCategory", "1")
.getResultList();
答案 1 :(得分:1)
在DAO实现类中使用以下代码。
Query query= entityManager.createNamedQuery("ExampleTable.findByAmlClientCategory");
query.setParameter("AmlClientCategory", "1");
Collection result = query.getResultList();
您可以在此处为NamedQuery
设置多个参数。