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

芬德比。。。在Spring JPA中,使用枚举错误时

伊羽
2023-03-14

我试图在Spring JPA中查询findBy...它给我一个java.util.NoSuchElementExctive。这是我的代码:

产品类型:

public enum ProductType {
   Product, Service, PeriodicalService;
}

控制器:

public ResponseEntity<JsonStruct> findByProductsType(@RequestHeader("MarinaId") Integer idMarina, @PathVariable String[] productTypes){
    JsonStruct struct = new JsonStruct();
    struct.setStatusToSuccess();
    List<ProductType> productTypeList = Arrays.stream(productTypes).map(ProductType::valueOf).collect(Collectors.toList());
    struct.put("products", productService.findByProductTypeIn(productTypeList, idMarina));
    return new ResponseEntity<JsonStruct>(struct, HttpStatus.OK);
}

ServiceImpl:

@Override
public List<Product> findByProductTypeIn(List<ProductType> productTypes, Integer marinaId){
    return productProvider.findByProductTypeIn(productTypes, marinaId);
}

服务:

List<Product> findByProductTypeIn(List<ProductType> productTypes, Integer marinaId);

提供者(这是存储库):

List<Product> findByProductTypeIn(List<ProductType> productTypes, Integer marinaId);

我看不出我做错了什么...

共有1个答案

阙俊友
2023-03-14

方法中应该只有一个参数。marinaId应该是rénovée,以匹配findByProductTypeIn方法。

 类似资料:
  • 问题内容: 我有一个通过ctypes访问的结构: 到目前为止,我有类似以下的Python代码: 但是我不确定该用什么枚举。我应该将其映射到a还是? 问题答案: 至少对于GCC来说,只是一个简单的数字类型。它可以是8位,16位,32位,64位或其他任何值(我已经用64位值对其进行了测试)以及或。我猜它不能超过,但是实际上你应该检查你的范围并选择类似。 这是一个例子。C程序: 和Python之一:

  • 因为枚举成员不是有序的,所以它们只支持通过标识(identity) 和相等性 (equality) 进行比较。下面来看看 == 和 is 的使用: #!/usr/bin/env python3 # -*- coding: UTF-8 -*- from enum import Enum class User(Enum): Twowater = 98 Liangdianshui

  • 问题内容: 我有一个电影租借系统的现有数据库。每部电影都有一个评级属性。在SQL中,他们使用约束来限制此属性的允许值。 我认为使用Java枚举将约束映射到对象世界会很好。但是由于“ PG-13”和“ NC-17”中的特殊字符,不可能简单地获取允许的值。因此,我实现了以下枚举: 使用toString()方法,方向enum-> String可以正常工作,但是String-> enum不能正常工作。我得

  • 问题内容: 有没有办法检查一个枚举值是否大于或等于另一个值? 我想检查错误级别是否为“错误或以上”。 问题答案: 所有Java枚举都实现可比较:http : //java.sun.com/javase/6/docs/api/java/lang/Enum.html 您也可以使用该方法将它们转换为s,然后比较就很简单了。

  • 实现后缀计算器,需要检查运算符的优先级是否低于另一个运算符。以下是我到目前为止所拥有的: 我尝试了许多不同的方法来检查传入的字符的优先级,但都没有用。有没有简单的方法来比较一个枚举的两个值?我需要创建一个循环吗?

  • 使用 use 声明,这样就不必手动加上作用域了: // 隐藏未使用代码警告的属性。 #![allow(dead_code)] enum Status { Rich, Poor, } enum Work { Civilian, Soldier, } fn main() { // 明确地 `use` 各个名称使他们直接可用而不需要手动加上作用域。 use