【问题标题】:Entity Manager EJB query could not locate named parameterEntity Manager EJB 查询找不到命名参数
【发布时间】:2014-01-27 07:28:51
【问题描述】:

enter code here您好我正在使用实体管理器(EJB),它在内部依赖休眠来获取对象。

我的查询是........

TypedQuery<FraudDetectionInfoEntity> queryKount = em_oltp.createQuery("SELECT o FROM FraudDetectionInfoEntity o WHERE o.order.orderId=:orderId",FraudDetectionInfoEntity.class);
query.setParameter("orderId", orderEntity.getOrderId());
FraudDetectionInfoEntity infoEntity=queryKount.getSingleResult();

如果我运行该查询,我会收到以下错误。

org.hibernate.QueryParameterException: could not locate named parameter [orderId]
org.hibernate.QueryParameterException: could not locate named parameter [orderId]
12:46:58,639 ERROR [com.vip.enterprise.admin.web.controller.OrderPlacementController] (http-/127.0.0.1:8084-6) error com.vip.enterprise.service.exception.ServiceException: org.hibernate.QueryParameterException: could not locate named parameter [orderId]
12:47:00,001 ERROR [com.vip.enterprise.service.jobs.ReplenishmentJob] (EJB default - 4) Replenish Orders JOB : Mon Jan 27 12:47:00 IST 2014

【问题讨论】:

    标签: spring hibernate jpa ejb


    【解决方案1】:

    您的代码没问题。缺少变量queryqueryKount

    TypedQuery<FraudDetectionInfoEntity> queryKount = em_oltp.createQuery("SELECT o FROM FraudDetectionInfoEntity o WHERE o.order.orderId=:orderId",FraudDetectionInfoEntity.class);  
    
    query.setParameter("orderId", orderEntity.getOrderId());  
                    <or>
    queryKount.setParameter("orderId", orderEntity.getOrderId());  
    

    【讨论】:

      猜你喜欢
      • 2015-03-29
      • 2016-12-21
      • 2020-06-04
      • 2012-09-08
      • 2012-11-03
      • 2017-11-21
      相关资源
      最近更新 更多