【问题标题】:Spring Data JPA finder for dynamic fields as MapSpring Data JPA finder 动态字段作为 Map
【发布时间】:2013-03-01 17:40:55
【问题描述】:

我的要求是域对象中的自定义字段很少。这些字段可能因客户而异。

我们正在使用 Spring Data JPA 来执行查找器。 Spring data 隐式地为域的静态字段提供了查找器,并且还可以处理对象图中字段的查找器。

我想知道是否有办法在自定义字段上查找数据?有人可以建议我实现相同的策略。下面是我的域类的示例。

公共类员工{

私有字符串名称;

私有字符串年龄;

私人地图customeFields; (可能因客户而异)

}

我正在考虑覆盖 QueryLookupStrategy 并在 PartTreeJpaQuery 行上创建我的 CustomJpaQuery 来实现它。有没有更好的方法? spring data jpa 是否提供了一种简单的机制来覆盖查询创建机制?

【问题讨论】:

    标签: spring-data-jpa dynamic-finders


    【解决方案1】:

    如果您使用的是 hibernate(不确定其他 JPA 实现),您可以添加带有 @Query 注释的方法,如下所示:

    @Query("select e from Employee as e where e.customeFields[:key] = :value")
    List<Employee> findSomeHow(@Param("key") String key, @Param("value") String value)
    

    【讨论】:

    • 嗨,迈克尔,感谢您的回复。
    猜你喜欢
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多