"org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value : com.cos.blog.model.User.email; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient ..

2022. 3. 14. 13:26· Debug
728x90
[에러 현상]
insert작업을 할 때 RequestBody의 데이터 MIME타입을
x-www-form-rulencoded로 했을 때는 문제가 없는데
raw(Json)의 형태로 하면 propertyValueException이 일어남
[에러 후보]
Json데이터의 형식을 실수함
[에러 원인]
Join메서드의 DTO인 User 패러미터 앞에 @RequestBody를 붙여주지 않아서
에러가 났던 것임..
근데 @RequestBody붙이니까 이젠 xxx-form-urlencoded방식으로 하니까 지원안한다는 식으로 뜸​

@ResponseBody를 붙이지 않으면 자동으로 @ModelAttribute가 붙는다고 한다..

이 둘의 차이 때문에 

Json은 @ResponseBody을 붙이고

xxx-form-urlencoded는 @ModelAttribute를 붙이는듯..?

 

@ModelAttribute는 파라미터 값으로 DTO객체에 바인딩을 하는 방식이기 때문에 바인딩하려는 DTO객체에 Setter메소드가 반드시 있어야 하고, (form태그로 받아옴)

@RequestBody는 요청 본문의 body에 json이나 xml값으로 요청을 하여 HttpMessageConveter를 반드시 거쳐 DTO객체에 맞는 타입으로 바꿔서 바인딩을 시켜준다.  (json, xml로  받아옴)

-> HttpMessageConverter의 Jackson 라이브러리가 받아주는 것임

 

 

 

 

 

 

 

 

 

 

 

User user -> @RequestBody User user

 

저작자표시 (새창열림)

'Debug' 카테고리의 다른 글

[Ubuntu] 심볼링 링크가 지워지지 않는 현상  (0) 2022.09.19
삭제하기 기능은 @PostMapping이 아니라 @DeleteMapping을 애노테이션으로 붙여주어야 한다  (0) 2022.03.14
[Hibernate][MySQL] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table Reply add constraint FKr5xsgtav636xcqpjh0j81wb2n foreign key ('boardId') references Board (id)" via JDBC Statement  (0) 2022.03.05
[Hibernate][MySQL] Unsupported property type [java.security.Timestamp] for @CreationTimestamp or @UpdateTimestamp generator annotation  (0) 2022.03.04
[Maven] pom.xml에 pring-boot-starter-data-jpa를 추가해줘도 @Entity를 사용할 수 없는 경우 (import javax.persistence.Entity가 안되는 경우)  (0) 2022.03.04
'Debug' 카테고리의 다른 글
  • [Ubuntu] 심볼링 링크가 지워지지 않는 현상
  • 삭제하기 기능은 @PostMapping이 아니라 @DeleteMapping을 애노테이션으로 붙여주어야 한다
  • [Hibernate][MySQL] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table Reply add constraint FKr5xsgtav636xcqpjh0j81wb2n foreign key ('boardId') references Board (id)" via JDBC Statement
  • [Hibernate][MySQL] Unsupported property type [java.security.Timestamp] for @CreationTimestamp or @UpdateTimestamp generator annotation
배게
배게
백엔드배게 님의 블로그입니다.
배게
백엔드
배게
전체
오늘
어제
  • 분류 전체보기 (430)
    • 알고리즘 풀이 (338)
      • 백준 (167)
      • Codility (22)
      • 프로그래머스 (123)
      • LeetCode (2)
      • CodeForces (9)
      • SWEA (15)
    • 백엔드 (11)
    • Coding existing for (3)
    • 무지성 메모 (40)
    • Debug (30)
    • 자바 (8)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 카톡
  • MYSQL
  • 카톡 내보내기한 파일 정렬
  • 카카오톡
  • hibernate
  • 카카오톡 txt파일 정렬

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
배게
"org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value : com.cos.blog.model.User.email; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient ..
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.