如何在jpa中将参数设置为regexp_like

时间:2018-03-28 08:21:48

标签: oracle hibernate spring-data-jpa querydsl regexp-like

我有一个这样的查询语句:

  @Query(value =
"select t.pt_note, t.tracking_no" +
  "  from T_EC_PURCHASE t" +
  " where regexp_like(t.pt_note," +
  "                   '^(.*[^[:digit:]]+)?(?1)([^[:digit:]]+.*)?$'," +
  "                   'n')", nativeQuery = true)

有一个参数,我想把它设置到位置?1,但我收到一条错误信息:

  

使用方法public abstract的Purchase参数Purchase PurchaseRepository.getByTrackingNo(java.lang.String)         但参数' trackingNo'在带注释的查询中找不到'         从T_EC_PURCHASE t中选择t.pt_note,t.tracking_no,其中regexp_like(         t.pt_note,' ^(。 [^ [:digit:]] +)?(?1)([^ [:digit:]] +。)?$&#39 ;,' n')'!

购买是我的实体,这里是PurchaseRepository:

trait PurchaseRepository extends JpaRepository[Purchase, String] with QueryDslPredicateExecutor[Purchase] {

  @Query(value =
    "select t.pt_note, t.tracking_no" +
      "  from T_EC_PURCHASE t" +
      " where regexp_like(t.pt_note," +
      "                   '^(.*[^[:digit:]]+)?(?1)([^[:digit:]]+.*)?$'," +
      "                   'n')", nativeQuery = true)
  def getByTrackingNo(trackingNo: String): Purchase
}

我错过了什么吗?

0 个答案:

没有答案