본문 바로가기

SpringBoot/JPA4

JPA로 객체를 가져올 때 LazyLoading을 만난 썰

안녕하세요. 저는 단위테스트를 작성하고 있었습니다. 양방향 관계를 가지는 주인 객체에서 종속 객체의 데이터가 들어가 있는지 확인하는 과정에서 테스트코드가 통과되지 않는 현상이 발생해서 이 부분을 공부를 해보려고 합니다. 저의 개발 환경은 다음과 같았습니다. spring-boot-starter-web:2.3.1 spring-boot-starter-data-jpa:2.3.1 spring-boot-postgresql:42.2.14 junit:junit:4.13 에러 내용 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.studyolle.domain.Event.enrollments, co.. 2020. 9. 27.

LazyLoading의 value를 단위테스트에서 확인하는 방법

저의 개발 환경은 다음과 같습니다. spring-boot-starter-web:2.3.1 spring-boot-starter-data-jpa:2.3.1 spring-boot-postgresql:42.2.14 junit:junit:4.13 안녕하세요. 테스트 코드를 작성하면서 다음과 같은 hibernate 예외를 만났습니다. unable to evaluate the expression Method threw 'org.hibernate.LazyInitializationException' exception 테스트 코드의 작성 내용은 다음과 같습니다. 1. 사용 객체 Event(모임) @OneToMany(mappedBy = "event") Enrollment(모임에 등록한 멤버의 등록 정보 객체) @ManyTo.. 2020. 9. 26.

다대다관계에서 ORM하는 법

안녕하세요. 저는 현재 Springboot와 jpa를 사용해서 '동물원'이라는 웹 앱을 개발하고 있습니다. 동물원 웹 앱을 만드는 과정에서 다음과 같은 에러를 만나게 되었습니다. 에러메시지 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'accountRepository' defined in com.zoo.account.AccountRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean .. 2020. 9. 11.

[JPA] 자바 영속성 어노테이션 알아보기

강의를 들으면서, JPA @Entity를 선언해준 클래스에서 ProfileImg라는 객체에 다음과 같은 어노테이션을 사용하는 것을 처음 본 저는, 이 어노테이션들에 대해서 조사를 해 보았습니다. 참고 : https://www.baeldung.com/jpa-basic-annotation#basic-vs-column 1. @Lob Large OBject의 줄임말인 어노테이션입니다. 필드에 특정 문자열 길이를 지정하지 않는다면 Default로 varchar(255)까지 저장할 수 있지만, 사진을 저장하는 칼럼으로 사용할 경우에는 더많은 자리수를 사용하기 때문에, @Lob 어노테이션으로 Large Object를 데이터베이스에 적절하게 저장합니다. 사용 예로, 사진을 DB에 저장할 경우 byte array로 변환.. 2020. 7. 5.