안녕하세요 선생님. 잘 이해가 안가서 그러는데요, css강의중 float레이아웃 파트의 20분쯤에 보시면 float와 clear에 관한 내용들이 나옵니다. float를 적용해주고, clear로 float적용해줬던 것을 지워주는 개념인가요? 그렇다면 애초에 float를 사용하지 않으면 굳이 clear로 지워줄 필요가 없을텐데 왜 float를 만드는 것이며 왜 clear로 굳이 float를 "어떤 작용"을 하여서 핸들링 해주는 걸까요? ("어떤 작용"에 대해서는 분명 눈으로는 "어떤 작용"을 한다는게 보이긴 하는데 이게 어떤것인지는 표현을 못하겠습니다 ㅠㅠ)
강의에서 영속성 컨텍스트에 있는 데이터를 데이터베이스에 보내기 위해 flush하고 그리고 영속성 컨텍스트를 비우기 위해 clear한 후 em.find하여 영속성 컨텍스트가 비워졌으니 데이터베이스에서 값을 가져오는 것은 이해했습니다. 제가 알기로는 em.find가 영속성 컨텍스트에서 찾아보고 없으면 데이터베이스에서 데이터를 가져오는데 그러면 clear하지 않고 영속성 컨텍스트에서 자료 찾아오는 것과 무슨 차이가 있는지 모르겠습니다... 영속성 컨텍스트에도 같은 자료가 있으니 굳이 clear할 필요가 있나 생각이 듭니다. 답변 부탁드립니다.
안녕하세요. flush, clear를 호출하지 않았더니 members 리스트에 값이 들어오지 않아 질문 드립니다. 이전 강의에서 flush, clear를 호출하는 이유는 영속성 컨텍스트를 모두 지우고 Select 쿼리가 호출되는 것을 보기 위해 넣는다고 하셨는데요. 그래서 저는 flush, clear를 호출하지 않고 find를 호출해도 영속성 컨텍스트에서 값을 잘 찾아오기 때문에 호출하지 않고 양방향 예제를 작성하였습니다. 그런데 members에 값이 들어오지 않아서 혹시나 해서 flush, clear를 호출했더니 리스트가 잘 들어옵니다. 그런데 이 부분이 이해가 가지 않습니다. 위에서 persist하는 과정에 영속성 컨텍스트에 1차 캐시가 이뤄졌고 find를 통해 member도 잘 찾아왔는데 members는 왜 값이 들어오지 않을까요? 혹시 양방향 연관관계는 반드시 flush, clear를 호출 해줘야 하는건가요?