Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.IllegalArgumentException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)不匹配_Java_Spring_Spring Boot_Spring Mvc_Spring Boot Jpa - Fatal编程技术网

java.lang.IllegalArgumentException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)不匹配

java.lang.IllegalArgumentException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)不匹配,java,spring,spring-boot,spring-mvc,spring-boot-jpa,Java,Spring,Spring Boot,Spring Mvc,Spring Boot Jpa,我有一个独立的应用程序,在调用“”时出错(尝试从db获取个人id详细信息) 2019-03-01 11:23:34.296错误52000---[nio-8080-exec-1]o.a.c.c.c.[/].[dispatcherServlet]:路径为[]的上下文中Servlet[dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.dao.InvalidDataAccessApiUsageExceptio

我有一个独立的应用程序,在调用“”时出错(尝试从db获取个人id详细信息)

2019-03-01 11:23:34.296错误52000---[nio-8080-exec-1]o.a.c.c.c.[/].[dispatcherServlet]:路径为[]的上下文中Servlet[dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为org.springframework.dao.InvalidDataAccessApiUsageException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)]不匹配;嵌套异常为java.lang.IllegalArgumentException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)]不匹配,并存在根本原因

java.lang.IllegalArgumentException:参数值[1604438222]与预期类型[java.lang.Integer(n/a)]不匹配 在org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54)~[hibernate-core-5.3.7.Final.jar:5.3.7.Final] 在org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:27)~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]

  • 控制器类:

    @RestController
    @RequestMapping("/user")
    public class UserController {
    
    
        @Autowired
        PersonRepository personRepository; 
    
         @GetMapping("/person/{prsId}")
         public Person getPerson(@PathVariable Long prsId) {
              return personRepository.findByPrsId(prsId);
         }
    }
    
  • 存储库:

    @Repository
    public interface PersonRepository extends  CrudRepository<Person, Long>
    {
        Person findByPrsId(Long Id);
    
    }
    

  • 2147483647
    整数的值。最大值

    2304438636
    太大,无法包含在
    Integer
    变量中


    一般情况下,将
    Long
    用于您的ID。或者更好的是,原语
    Long
    ,因为您的ID在理想情况下永远不应为
    null
    2147483647
    整数的值。最大值

    2304438636
    太大,无法包含在
    Integer
    变量中


    一般情况下,将
    Long
    用于您的ID。或者更好的是,原语
    Long
    ,因为您的ID在理想情况下永远不应为
    null

    ,您在POJO中使用
    Integer
    ,在Repository和Controller中使用
    Long
    。将它们全部更改为使用
    Integer
    Long
    正在POJO中使用
    Integer
    ,在Repository and Controller中使用
    Long
    。请将所有应用程序都更改为使用
    Integer
    Long

    “我有一个独立的应用程序,在调用时出现上下错误…”-这很不幸。你的问题是什么?你将PrsId定义为一个整数,但使用Long来尝试查找它。2304438636也大于最大有符号整数值。“我有一个独立的应用程序,在调用时出现上下错误…”-这很不幸。你的问题是什么?你将PrsId定义为整数,但使用Long来尝试查找它。2304438636也大于最大有符号整数值。
    @Entity
    @Table(name = "Person")
    public class Person {
    
        @Column(name = "Prs_Id")
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Integer prsId;
    
        @Column(name = "P_Email_Internet_Addr", nullable = true, length = 255)
        private String email;
    
    
        protected Person() {
        }
    
    
        public Integer getPrsId() {
            return prsId;
        }
    
        public void setPrsId(Integer prsId) {
            this.prsId = prsId;
        }
    
        public String getEmail() {
            return email;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
    
        @Override
            public String toString() {
                    return "User [prsId=" + prsId + ", email=" + email 
                     + "]";
            }
        }