【问题标题】:Custom like predicate to handle custom user defined types (Hibernate UserType)Custom like 谓词来处理自定义用户定义的类型(Hibernate UserType)
【发布时间】:2015-05-22 15:10:42
【问题描述】:

我最近偶然发现了一个问题,我必须使用 like 谓词构建 JPA 标准,该谓词接受作为 UserType 实现的自定义类型。我正在处理的自定义类型只不过是 String 包装了一些附加信息。

我已经通过从 Hibernate 实现 Criterion 接口来满足 Hibernate 标准,它工作正常。

我现在必须为 JPA 做同样的事情,但是 Predicate 的 Hibernates 实现,调用时创建的 LikePredicate

CriteriaBuilderImpl.like(表达式, String)

看起来很复杂。

我需要的是这样的:

...like(表达式, MyUserType)

有没有人做过这样的事情并且可以给我一些提示?

谢谢!

【问题讨论】:

    标签: hibernate jakarta-ee jpa-2.0 hibernate-criteria


    【解决方案1】:

    问题已通过辅助方法解决,其中CustomString 是自定义UserType

    public static Predicate addLike(CriteriaBuilder cb, Path<CustomString> path, String val)
    {
        return cb.like(cb.lower(path.as(String.class)), val.toLowerCase());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      相关资源
      最近更新 更多