JPA

문제org.hibernate.LazyInitializationException: could not initialize proxy [com.zb.deuggeun.programschedule.entity.ProgramTimeSlot#2] - no Session org.hibernate.LazyInitializationException은 Hibernate이 지연로딩된 엔티티를 초기화할 때 발생하는 예외다.일반적으로 Hibernate 세션이 종료된 후에 지연로딩된 엔티티를 사용하려고 할 때 발생한다. 해결하기Hibernate 세션 유지지연로딩된 엔티티를 사용하는 동안 Hibernate 세션을 열어두는 것이 가장 간단한 방법이다.이렇게 하려면 트랜잭션 범위에서 세션을 열고, 트랜잭션이 끝나기 전에 세션을 닫으면 ..
프로젝트에서 회원 중 트레이터 회원의 경우 부가 정보를 저장하기 위해 @OneToOne관계를 설정하고자 했다. 여기서 고려할 점은 트레이너의 pk와 회원의 fk가 굳이 다를 필요가 없다는 것 이다.또한 양방향 매핑을 한다면 관계의 주인이 아닌 곳에서 조회를 할 경우 n+1 문제가 발생할 것이다. 이를 해결하고자 @MapsId를 사용했다.@Entity@Getter@SuperBuilder@NoArgsConstructor@AllArgsConstructorpublic class Trainer extends BaseEntity { @Id private Long id; @MapsId @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") pr..
RDBMS를 사용할 때 테이블 하나만 사용해서 모든 기능을 구현하긴 어려워 여러 테이블을 연관 관계를 설계하고 조인한다. JPA도 테이블의 연관관계를 표현할 수 있는데 이에 대해서 알아보자. 연관관계 매핑 종류와 방향 JPA에서는 두 엔티티 간에 다양한 종류의 연관관계를 정의할 수 있다. 일대일 (One-to-One) 한 객체가 다른 객체와 하나의 연관된 객체를 가진다. 예를 들어, 한 사람은 하나의 주소만 가질 수 있고, 한 주소는 하나의 사람과 연관될 수 있다. 아래 예시는 하나의 제품은 하나의 설명을 가질 수 있다는 예시다. @Entity @Table(name = "product_detail") @Getter @Setter @NoArgsConstructor @ToString(callSuper = t..
Spring Data JPA :: Spring Data JPA Oliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Jay Bryant, Greg Turnquist Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that docs.spring.io JPQL(JPA Query Language) JPQL은 자바 영속성 쿼리 언어(Java Persistence Query Language)의 약자로, 객체 지향 데이..
Error Description: Parameter 1 of constructor in com.projectname.api.loan.request.LoanRequestServiceImpl required a bean of type 'com.projectname.domain.repository.UserInfoRepository' that could not be found. Action: Consider defining a bean of type 'com.projectname.domain.repository.UserInfoRepository' in your configuration. Error 원인 Error 내용을 확인해보면 말 그대로 스프링이 bean인식을 못하고 있기 때문에 생기는 에러이다. 에러가 발..
Error 단위 테스트 코드 작성 중 아래와 같은 오류가 떴다. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method..
Spring Data JPA에서 메서드 이름을 사용하여 쿼리를 생성할 때 사용되는 일련의 키워드가 있다. 각 키워드는 특정한 조건을 나타내며, 이를 조합하여 원하는 검색 조건을 만들어 낼 수 있다. 이러한 규칙들은 메서드 이름을 통해 JPA 쿼리 메서드를 자동으로 생성하는데 사용된다. FindBy 해당 속성 값에 대해 일치하는 엔티티를 검색합니다. 예시: findByFirstName(String firstName), findByAge(int age) And, Or 여러 개의 조건을 결합하여 검색합니다. And는 모든 조건을 만족해야 하고, Or는 조건 중 하나만 만족하면 됩니다. 예시: findByFirstNameAndLastName(String firstName, String lastName), fin..
je-pa
'JPA' 태그의 글 목록