如有以下异常:
四月 12, 2013 12:19:43 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [springServlet] in context with path [/application_project] threw exception [Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [com.basic.entity.DivisionEntity] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='size must be between 5 and 2147483647', propertyPath=divisionName, rootBeanClass=class com.basic.entity.DivisionEntity, messageTemplate='{javax.validation.constraints.Size.message}'}
]] with root cause
javax.validation.ConstraintViolationException: Validation failed for classes [com.basic.entity.DivisionEntity] during update time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='size must be between 5 and 2147483647', propertyPath=divisionName, rootBeanClass=class com.basic.entity.DivisionEntity, messageTemplate='{javax.validation.constraints.Size.message}'}
]
上午碰到这样的异常,取了几个关键字在网上搜了一下,也没搜到正确的原因和解决办法。仔细分析下错误日志,并根据线索在代码中查找,才知道原因:
是使用Hibernate注解配置实体时,在某个关键字上限制了长度所致(propertyPath=divisionName)。果然,在DivisionEntity中,divisionName上不知什么时候多了@Size(min=5),而实际上该字段值的长度与注解不符。删除或者进行相应调整即可。