JPA REST 中的 NamedQueries WHERE EQUALS 语句
NamedQueries WHERE EQUALS statement in JPA REST
我正在创建一个 REST 服务,起初很简单,但现在我想获得 table 列中具有特定值的行。
这是我现在拥有的 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 服务。
非常感谢任何帮助!
你可以这样执行(假设 AmlClientCategory 是一个字符串):
List<ExampleTable> results = em.createNamedQuery("ExampleTable.findByAmlClientCategory", ExampleTable.class)
.setParameter("AmlClientCategory", "1")
.getResultList();
在您的 DAO 实现中使用以下代码 class。
Query query= entityManager.createNamedQuery("ExampleTable.findByAmlClientCategory");
query.setParameter("AmlClientCategory", "1");
Collection result = query.getResultList();
在这里您可以为您的NamedQuery
设置多个参数。
我正在创建一个 REST 服务,起初很简单,但现在我想获得 table 列中具有特定值的行。
这是我现在拥有的 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 服务。
非常感谢任何帮助!
你可以这样执行(假设 AmlClientCategory 是一个字符串):
List<ExampleTable> results = em.createNamedQuery("ExampleTable.findByAmlClientCategory", ExampleTable.class)
.setParameter("AmlClientCategory", "1")
.getResultList();
在您的 DAO 实现中使用以下代码 class。
Query query= entityManager.createNamedQuery("ExampleTable.findByAmlClientCategory");
query.setParameter("AmlClientCategory", "1");
Collection result = query.getResultList();
在这里您可以为您的NamedQuery
设置多个参数。