본문 바로가기

Spring Data2

JPA 효과적인 양방향 연관관계 구성방법 양방향 @OneToMany 연관관계는 JPA(Java Persistence API)에서 부모 엔티티와 자식 엔티티 간의 일대다 관계를 설정할 때 사용된다. 이 관계를 효과적으로 구성하기 위해서는 여러 가지 고려사항이 있다.1. 부모 측에서 전이 옵션을 사용해야 한다.전이(cascading)는 항상 부모 엔티티가 자식 엔티티의 생명주기를 관리하도록 한다. 예를 들어, 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장되도록 하려면 CascadeType.ALL 또는 필요한 전이 타입을 설정해야 한다. @Entitypublic class Parent { @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true) pr.. 2024. 10. 16.
@Lob 사용시 DB와 엔티티 필드 타입이 다른 경우 발생하는 문제와 해결방법 😫 배경 진행 중인 프로젝트의 과거 코드 중 HTML 문서를 그대로 DB에 저장하는 내용이 있었다. HTML 문서 내용은 동적이고, 길이가 길었기 때문에 긴 문자열 저장을 위해 LOB을 사용했고, 별다른 문제없이 서비스를 이용해 왔었다. 그러다 어느 순간 서비스를 이용할 수 없는 문제가 발생했다. 이와 관련해서 파악한 원인과 해결 방법에 대해서 공유하고자 한다. 🔎 원인 문제 내용을 분석해 보니, 'DB에 선언된 LOB 타입'과 '엔티티에 사용된 @LOB 타입'이 다르게 사용되었기 때문에 발생한 문제였다. 서비스 DB에서는 BLOB 타입을 적용시켰는데, 막상 엔티티 필드에서는 String 타입으로 선언했기 때문에 CLOB 관련 로직이 적용되면서 데이터베이스에서 가져온 데이터를 처리할 수 없게 되어 문제가.. 2024. 1. 7.