티스토리 뷰

Class Clr {

...

@ElementCollection

public List<Long> cioIds;


...

}



* 개요

1. clr1 이  있음. 

cioIds는 Clr_cioIds 란 테이블로 별도 저장됨.


2. clr2 를 생성

clr2.cioIds = clr1.cioIds


3. clr2 를 저장


- 결과 : 

 clr2 의 cioIds 는 정상적으로 저장되지만,

원본인 clr1 의 cioIds 가 삭제됨



* 문제해결

clr2.cioIds =... 형식 대신

clr2.setCioids(clr1.cioIds) 로 대입함.


- cioIds 단순한 Long 이지만, Hibernate 안 에서는  Proxy 객체인듯함.

저장시 set 함수 아닌 그대로 대입시에는 clr1 의 객체를 가져다쓰게 되어서

해당 Long 객체의 주인이 clr1 => clr2 로 바뀌어 없어진다고 생각됨.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함