작성
·
719
0
다음과 같이 AccountRepository 인터페이스를 생성해 사용하는데, findByNickname 메소드에 대해 Unable to access lob stream 오류가 발생합니다.
검색해보니 맨 위 사진과 같이 Repository에 @Transactional을 추가하라는데, Clob이나 Blob이 포함된 엔티티는 해당 어노테이션을 반드시 사용해야 하는 것인가요? 혹시 맞다면 왜 그런건가요?
답변 4
0
혹시 postgresql 아닌가요?
요즘 취미삼아 오랜만에 포스트해보는데 같은오류가 나서 찾아보니.
포스트그레스큐엘은 lob처리시에 내부적으로 트랜잭션이 필요하다고 하네요.
0
안녕하세요. Junyoung_Choi님
제가 올려주신 코드의 테스트 케이스들을 실행해보았지만 저는 문제가 발생하지 않았습니다. 웹 애플리케이션으로 실행은 중간에 오류들이 발생해서 진행을 못했습니다.
추가로 좀 더 확인해보기 위해 다음과 같은 테스트를 추가해서 돌려보았지만 말씀하신 문제는 발생하지 않았습니다.
@Test
public void findByNicknameTest() {
final String PROFILE_IMAGE = "profileImage!";
Account account = new Account("hi@go.com", "go", "1234");
account.changePersonalInfo("u","o","l","b", PROFILE_IMAGE);
accountRepository.save(account);
Account byNickname = accountRepository.findByNickname("go");
String profileImage = byNickname.getProfileImage();
Assertions.assertThat(profileImage).isEqualTo(PROFILE_IMAGE);
}
도움이 못되어 드렸네요. 향후에 재현 가능한 테스트 케이스를 완성하시면 다시 한번 알려주시겠어요?
0
0
저도 처음보는 현상입니다. 스프링 데이터 Repository에 @Transactional을 추가한다고 될 것 같지는 않은데요?
다시한번 확인해보시고, 그래도 계속 안되면 전체 코드를 압축해서 올려주세요.