首页 > 解决方案 > TEXT 列:自变量数据类型文本对于下部函数的自变量 1 无效

问题描述

我目前有一个 repo 方法,它充当分页过滤器:

回购:

 @Query("SELECT e FROM DeTest e  " +
            "WHERE e.deactivationTime = '9999-12-31 00:00:00.000' " +
            "AND (:name is null OR LOWER (e.name) LIKE LOWER ('%' + :name+ '%')) " +
            "AND (:description is null OR LOWER (e.description) LIKE LOWER ('%' + :description + '%')) " +
            "AND (:theProblem is null OR LOWER (e.theProblem ) LIKE LOWER ('%' + :theProblem + '%')) "
    )
 

因此,如此处所示,我有它,因此当您输入一个值时,它会更改它,确保同时显示大写值和小写值。但是,将 LOWER 添加到“问题”列时,会在标题中产生错误:

Argument data type text is invalid for argument 1 of lower function

我对该特定列的数据类型是文本,因此,我认为是问题的罪魁祸首。但是,由于数据库布局,我需要它是文本。因此,无论如何我可以在调用它时在 repo 方法中转换/转换它吗?

柱子:

@Column(name = "the_problem", columnDefinition = "TEXT") // text rather than varchar
private String theProblem;

谢谢你。

标签: javasqljpql

解决方案


推荐阅读