Null value was assigned to a property of primitive type setter of XXX

2 篇文章 0 订阅

在SpringMVC界面删除数据库表中字段的时候,出现报错如下:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.orm.hibernate3.HibernateSystemException:Null value was assigned to a property of primitive type setter of com.xxx.CurrentData.accountAccumulateFlow; nested exception is org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.xxx.CurrentData.accountAccumulateFlow

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.xxx.web.filter.LoginFilter.doFilter(LoginFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at com.xxx.security.SecurityInterceptorFilter.invoke(SecurityInterceptorFilter.java:52)
at com.xxx.security.SecurityInterceptorFilter.doFilter(SecurityInterceptorFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)



解决方案:把实体类中的原始类型全部转化为包装类型

 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。

         包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

包装类对应表

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

        在这八个类名中,除了IntegerCharacter类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。

         对于包装类说,这些类的用途主要包含两种:

                   a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

                   b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。


  



这个错误通常是因为尝试将一个空值(null)赋值给 BluetoothDevice 类型的变量导致的。在Dart中,如果你没有明确给一个变量赋值,它的默认值将是 null。因此,在使用 BluetoothDevice 类型的变量之前,必须确保它已经被初始化为一个有效的 BluetoothDevice 对象。 以下是一些可能会导致这个错误的常见情况: 1. 没有正确初始化 BluetoothDevice 对象 在声明 BluetoothDevice 类型的变量后,必须使用 BluetoothDevice 的构造函数来初始化该变量。例如: ``` BluetoothDevice device = await FlutterBlue.instance.connect(deviceId); ``` 如果在初始化变量之前尝试使用它,将会触发 'Null' can't be assigned to a variable of type 'BluetoothDevice' 错误。 2. 从方法返回了一个空值 如果在使用 BluetoothDevice 变量之前调用了某个方法,并且该方法返回了一个空值(null),那么当尝试将其赋值给 BluetoothDevice 类型的变量时,将会触发 'Null' can't be assigned to a variable of type 'BluetoothDevice' 错误。 要解决这个问题,可以在使用 BluetoothDevice 变量之前检查它是否为空。例如: ``` if (device != null) { // 使用 BluetoothDevice 变量 } ``` 这样可以避免尝试将一个空值赋值给 BluetoothDevice 类型的变量。 总之,避免将空值赋值给 BluetoothDevice 类型的变量的最好方法是在使用它之前进行初始化,并在使用之前检查它是否为空。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值