我只是想知道如何将列名及其值传递给 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)
这对我不起作用。任何帮助,将不胜感激。
我正在使用Liquibase 3.4.1和MySQL56并通过Spring Boot运行Liquibase.
我有一个变更集,包括向现有表添加列.新的column具有valueComputed简单选择的属性.
当我在该选择中出错时,变更集失败并且迁移在该变更集处停止.但是新列被提交到数据库但没有正确的值,而且真正糟糕的是,这个变更集没有被标记为运行!下次我运行迁移时Liquibase尝试再次执行更改集,但由于已经创建了列而失败了.
当变更集失败时,为什么Liquibase不回滚事务?如何进行变更集事务处理?
编辑:显然,MySQL在每个DDL命令后提交.如果我在rollback标签中指定回滚命令,那么Liquibase会在变更集失败的情况下运行吗?