일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- catalina log
- oracle between
- datasource
- hikari
- 배열스트링
- between 날짜
- log4j2
- bitbucket
- MySQL
- python 개발환경
- Spring
- Java
- ubuntu
- oracle
- Spring Security
- mybatis
- intellij
- STS
- Gradle
- between date
- github
- log4j profile
- Spring Boot
- Linux
- springboot
- 라즈베리파이
- git
- hikaricp
- ORACLE CLOUD
- template
Archives
- Today
- Total
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- catalina log
- oracle between
- datasource
- hikari
- 배열스트링
- between 날짜
- log4j2
- bitbucket
- MySQL
- python 개발환경
- Spring
- Java
- ubuntu
- oracle
- Spring Security
- mybatis
- intellij
- STS
- Gradle
- between date
- github
- log4j profile
- Spring Boot
- Linux
- springboot
- 라즈베리파이
- git
- hikaricp
- ORACLE CLOUD
- template
Archives
- Today
- Total
파워노트
[JPA] 양방향 연관관계시 주의.. 본문
반응형
* Entity Class
==> Lombok 사용시 주의.
==> ToString() method 사용시 주의 무한 루프 위험있음. stackoverFlow 현상 발생함.
* Controller return Response 객체로 Entity 객체를 사용하지 말아라..
=> Rest Api 등에서 ResponseEntity<UserEntity> 등의 리턴 값이 존재 할경우 Json parser에 의해서 에러가 발생할 수 있다.
( fetch = FetchType.LAZY 등의 설정시 문제됨 )
[UserDevice Controller ] Json parsing 오류 발생함.
@PostMapping(value = "/userdevice")
public ResponseEntity<UserDeviceEn> registUser(@RequestBody ReqUserDevice param) {
log.info("userId {}", param.getUserid());
log.info("deviceId {}", param.getDeviceid());
UserDeviceEn userdevice = userDeviceService.registUserDevice(param.getUserid(),param.getDeviceid() );
return ResponseEntity.ok(userdevice);
}
[ User Entity ]
@OneToMany(mappedBy = "device", fetch = FetchType.LAZY)
private List<UserDeviceEn> userlist = new ArrayList<>();
[ Spring Server Error Message ]
Could not write JSON: failed to lazily initialize a collection of role: xxxx, could not initialize proxy - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: xxxx.devicelist, could not initialize proxy - no Session (through reference chain: xxxx["user"]->xxxx["devicelist"])]
** [ 수정사항 ]**
UserDeviceEn -> UserDeviceDto 로 Controller return 값을 변경해줌.
@PostMapping(value = "/userdevice")
public ResponseEntity<UserDeviceDto> registUser(@RequestBody ReqUserDevice param) {
log.info("userId {}", param.getUserid());
log.info("deviceId {}", param.getDeviceid());
UserDeviceDto userdevice = userDeviceService.registUserDevice(param.getUserid(),param.getDeviceid() );
return ResponseEntity.ok(userdevice);
}
반응형
'spring boot' 카테고리의 다른 글
[STS] Spring Tool Suite 설치 방법 (0) | 2021.08.03 |
---|---|
[spring] 비동기 처리 정리. (0) | 2021.04.22 |
[intelij] spring boot 프로젝트 생성하기 (0) | 2020.06.13 |
Security Filter (2) | 2020.04.17 |
UserDetailService (0) | 2020.04.17 |
Comments