본문 바로가기

데이터베이스2

[JPA] - 영속성 컨텍스트와 지연 로딩(LAZY) 1. 지연 로딩이란? 아래와 같은 아주 간단한 Reply(댓글) Entity 클래스가 있다. @Entity public class Reply { @Id private Long rno; @ManyToOne(fetch = FetchType.LAZY) private Board board; } 댓글(Reply) 엔티티는 Board(게시판) 엔티티와 연결되어 있고, 그 관계는 댓글이 Many, 게시판이 One 관계다. 즉, 게시판 하나에 여러 개의 댓글이 달린 형태이며, 데이터베이스에서는 댓글(Reply) 테이블에 FK가 설정될 것이다. 만약 ReplyRepository 영속성 객체에서 댓글 하나를 가져온다고 하자. public void getReply() { Option option = replyReposito.. 2024. 1. 24.
[자바] - JDBC 드라이버 표준 타입 매핑 1. java의 데이터 타입과 DB의 데이터 타입 변환 문제 개발을 하면서 데이터를 영구 처리하고 싶을 때는 데이터베이스를 활용한다. 이때 데이터베이스는 종류가 굉장히 많은데, 관계형 데이터베이스만 해도 MySQL, Oracle, Postgre 등이 있다. 데이터베이스를 클라이언트 프로그램으로 서버와 직접 통신해서 사용할 수도 있다. 그러나 자바 애플리케이션 개발을 할 때는 자바 애플리케이션이 데이터베이스 서버와 연결을 시도하고 쿼리를 날려야 한다. 이 사이를 매개하는 기술이 JDBC이며, JDBC는 JavaSE 표준이다. 물론 MyBatis, JPA 같은 기술이 많다. 하지만 그 모든 기술도 내부적으로는 JDBC를 사용한다. 그런데 각 데이터베이스는 각자의 데이터 타입을 구현해 사용한다. 대부분 큰 그.. 2024. 1. 8.