🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

여러 엔티티 중 일부만 detach 했을 경우 발생하는 에러에 대해 궁금합니다

22.09.15 00:00 작성 조회수 188

0

안녕하세요

detach 관련 코드를 이리저리 수정해보던 중

 @Test
    void batch() {

        Member test1 = new Member(10L, "test1");
        Member test2 = new Member(20L, "test2");

        em.persist(test1);
        em.persist(test2);

        em.detach(test1);
        em.detach(test2);

        test1.setName("test11");
        test2.setName("test22");

        em.flush();
    }

와 같이 엔티티 두개를 모두 detach로 준영속 상태로 만들 경우 테스트가 정상적으로 살행이 됐으나

@Test
    void batch() {

        Member test1 = new Member(10L, "test1");
        Member test2 = new Member(20L, "test2");

        em.persist(test1);
        em.persist(test2);

        em.detach(test1);
 //       em.detach(test2);

        test1.setName("test11");
        test2.setName("test22");

        em.flush();
    }

처럼 하나만 detach를 했을 경우

처럼 non-threadsafe access 라는 에러가 뜨는데

구글링 해본 결과 영속성 컨텍스트의 thread-safe 관련 내용이 나오는데 혹시 이와 관련이 있어서 발생하는 현상인지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. KoorunG님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

채널톡 아이콘