当前位置: 首页 > 知识库问答 >
问题:

由:org.PostgreSQL.util.psqlException引起:error:运算符不存在:text=integer

微生信鸿
2023-03-14

我有如下代码:

for (Integer partiesId : request.getPartiesIds()) {
            System.out.println(partiesId);
            Optional<Parties> parties = partiesRepository.findById(partiesId);
            OrderPartiesList.add(new OrderParties(Order.get(), parties.get()));
        }

这是我的请求

{
    "purchaseId" : 8,
    "partiesIds": [1, 2, 3, 4]
}
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer
public interface PartiesRepository extends JpaRepository<Parties, Integer>, JpaSpecificationExecutor<Parties> {
   // @Query("select p from parties p where p.name =?1")
    List<Parties> findAllByName(String name);
}

我的party模型实体也使用了@id和变量Integer,我的问题是为什么会出现这样的错误?

共有1个答案

辛才俊
2023-03-14

在调用partiesrepository.findbyid(partiesId)时,您将整数与varchar进行比较;partiesId是一个int值,但在DB中它可能是一个varchar值。您可以尝试partiesrepository.findbyid(string.valueof(partiesId));,但是您可能应该将数据库中的ID字段更改为int。

 类似资料:
  • 执行简单查询时出现操作符不匹配错误。这是什么原因造成的? 表定义:

  • 问题内容: Netbeans说我的三元运算符不是语句。怎么会? 我尝试过if / then / else对应项,并且工作正常: 问题答案: 三元运算符中的语句必须是非空的。他们需要退货。

  • 问题内容: 在这里, 我有两个变量,它们通过生成随机数。我希望它们继续滚动,直到两个变量同时生成两个不同的值。因此,我为此使用循环。正如我也明白了,请纠正我,如果我错了,行意为,不断翻滚,直到值 不等于5 和 不等于4 。但是,如果其中一个变量与其值匹配(diceRolled1 = 5 或 diceRolled2 = 4),则程序结束。这不是应该做什么,对吗?我已经运行了大约10次的代码,但是没有

  • 这个表的hibernate映射如下所述 在loginDetails.java中,我将id字段声明为long,userName和password字段声明为string。当我尝试执行以下命令时 我得到 我不明白哪里出了问题。如有任何帮助,不胜感激。

  • 当我试图运行下面的代码时,每次我都得到错误“org.openqa.selenium.timeoutexception:Expected condition failed:waiting for visibility of element Locited by by.xpath”,我不确定xpate会是什么,请有人帮助我为登录应用程序创建自动化测试用例。 Java: HTML: