728x90
반응형
Problem
org.springframework.orm.jpa.JpaSystemException: Null value was assigned to a property [class com.cdd.batchservice.module.ingredient.domain.IngredientOnlineMarket.ingredientDivision] of primitive type: 'com.cdd.batchservice.module.ingredient.domain.IngredientOnlineMarket.ingredientDivision' (setter)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:341) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550) ~[spring-orm-6.1.4.jar:6.1.4]
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-6.1.4.jar:6.1.4]
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:335) ~[spring-tx-6.1.4.jar:6.1.4]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-6.1.4.jar:6.1.4]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.4.jar:6.1.4]
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:164) ~[spring-data-jpa-3.2.3.jar:3.2.3]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.4.jar:6.1.4]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.4.jar:6.1.4]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.4.jar:6.1.4]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) ~[spring-aop-6.1.4.jar:6.1.4]
자바에서 컬럼의 속성 타입을 PrimitiveType(int, long, double, float, boolean, byte, short, char)과 ReferenceType(Integer, Long, Double 등)을 사용한다. 하지만 Database에서 Null값이 들어갈 수 있는 컬럼의 속성 타입은 자바에서는 ReferenceType이다. 따라서 위 경우에도 Entity를 구현하는 과정에서 int를 사용하였고 이 필드에 null이 들어간 순간 JpaSystemException이 호출과 에러가 발생한다.
Solution
이를 해결하기 위해서 int 대신 Integer를 넣어 null 값을 허용한다.
728x90
반응형
'ERROR' 카테고리의 다른 글
[ERROR/에러] MySQL Data too long for column (0) | 2024.03.06 |
---|---|
[ERROR/에러] Unknown integral data type for ids : java.lang.String (0) | 2024.01.23 |
[ERROR/에러] 카프카와 주키퍼 실행 에러 "입력 줄이 너무 깁니다. 명령 구문이 올바르지 않습니다." (0) | 2024.01.19 |
[ERROR/에러] APACHE KAFKA 아파치 카프카 실행 에러 (0) | 2024.01.19 |