Jaa*_*aan 6 hibernate jpql oracle11g spring-data-jpa spring-boot
我只是想知道如何将列名及其值传递给 Spring Data JPA 中的 @Query 注释。
基本上列名称将是静态的,我们过去常常将每一列作为实体类中的元素。但在这里我想要一些不同的东西,这里的列名称将是动态的,我将这个值作为参数传递给存储库中定义的方法。
表格- 日历
列- id、PersonName、1、2、3......31
上面是表结构,1,2,3,.....31 是代表日历日的列名称,我们在这些列中有值。我正在使用 Spring Data JPA 从数据库获取数据。在这里我只想获取特定日期的人名。下面给出了存储库中定义的函数。
@Query("select c from Calendar c where :calendarDay=:value")
List<Calendar> getPersonName(@Param("calendarDay") String calendarDay, @Param("value") String value);
Run Code Online (Sandbox Code Playgroud)
这对我不起作用。任何帮助,将不胜感激。
Spring JPA 支持的唯一动态参数是#{#entityName}。不支持注释中的动态列名称@Query。,这就是您想要实现的目标。
您唯一的选择是使用 QueryDSL、规范或 Criteria API 手动构建查询,或者简单地构建查询字符串并将其传递到 EntityManager。无论如何,您都必须为此编写代码。
例如,参见:
| 归档时间: |
|
| 查看次数: |
32722 次 |
| 最近记录: |