我的客户表中有一个客户名称、成员(member)编号、国籍和其他一些字段的字段,如果我从上述三个字段中获得一个值。我只需要编写一个命名查询即可从我获得的值中获取 Customer 表中的值。是否有可能通过命名查询来做到这一点,而不使用 jpa 中的普通查询?...
StringBuilder s=new StringBuilder();
s.append("select c from customerdetail c where )
if(customerName!=null)
{
s.append(" c.customerName = :customerName")
}
else if(memberShipNumber!=null)
{
s.append(" c.memberShipNumber = :memberShipNumber")
}
else if(nationality!=null)
{
s.append(" nationality = :nationality)
}
这里我使用具有三个条件的同一张表。那么是否有可能只编写一个命名查询或任何其他静态查询来满足 jpa 中的所有三个条件?
最佳答案
尝试阅读ObjectDB's manual on JPA Queries 。它提供了有关选择 JPA 实体及其自定义字段的不同变体的信息。它具有以 JPQL 表示的查询示例,因此使用 Criteria。是的,您可以使用 JPQL 定义namedQuery,然后再使用它。
关于java - 命名查询的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10008581/