java - 命名查询的可能性

标签 java jpa

我的客户表中有一个客户名称、成员(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/

相关文章:

java - EclipseLink @AdditionalCriteria 不适用于 find

java - 在本文中无法使用正则表达式找到日期

java - 安卓 ListView : How to add a row with a buttonclick

java - 将数据库更改与 hibernate 映射文件同步的最佳实践

java - 在 spring 数据 jpa 查询中默认一个值?

java - 尽管实体已绑定(bind),但什么会导致 QuerySyntaxException : [Entity] is not mapped,?

java - jpa中@formula的替代方案

java - 我如何才能最好地保护此 javax.crypto 服务器客户端中的 IV 和 key 密码

java - 无法在使用 WebLogic 服务器的项目上运行

java - 在线程安全对象上同步是否会阻止可能操纵它的其他调用?