小编Ily*_*sev的帖子

Spring Data JPA - 将列名称和值作为参数传递

我只是想知道如何将列名及其值传递给 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)

这对我不起作用。任何帮助,将不胜感激。

hibernate jpql oracle11g spring-data-jpa spring-boot

6
推荐指数
1
解决办法
3万
查看次数

Liquibase不会使用MySQL回滚失败的变更集

我正在使用Liquibase 3.4.1和MySQL56并通过Spring Boot运行Liquibase.

我有一个变更集,包括向现有表添加列.新的column具有valueComputed简单选择的属性.

当我在该选择中出错时,变更集失败并且迁移在该变更集处停止.但是新列被提交到数据库但没有正确的值,而且真正糟糕的是,这个变更集没有被标记为运行!下次我运行迁移时Liquibase尝试再次执行更改集,但由于已经创建了列而失败了.

当变更集失败时,为什么Liquibase不回滚事务?如何进行变更集事务处理?

编辑:显然,MySQL在每个DDL命令后提交.如果我在rollback标签中指定回滚命令,那么Liquibase会在变更集失败的情况下运行吗?

mysql liquibase

4
推荐指数
1
解决办法
1771
查看次数