반응형

Database 6

[JPA] Entity Column 상속

Database 테이블을 설계하다 보면 Column이 중복되는 경우가 많습니다. 대표적으로 이력관리를 위해 사용하는 "생성한 사람, 생성일, 마지막 수정한 사람, 마지막 수정일" 등이 있습니다. 이렇게 중복되는 Column은 @MappedSuperclass를 사용하여 중복을 제거할 수 있습니다. 먼저, 부모 크래스를 만들어서 중복된 Column을 정의합니다. import java.time.LocalDateTime; import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.MappedSuperclass; import org.springframework.data.annotation.Cre..

DBCP valicationQuery 설정

DB에 접속 중인 세션을 오랫동안 사용하지 않거나 네트워크에 문제가 발생하는 경우 DB 세션이 끊어질 수 있습니다. DB 세션이 끊어지는 경우 재접속 처리를 해야 다시 정상적인 서비스가 가능해집니다. 재접속 처리 방법 중에 autoReconnect=true 옵션이 있는데 이 옵션을 잘못 사용하는 경우 예상하지 못한 문제가 발생할 수 있습니다. autoReconnect 옵션은 쿼리를 수행한 다음 DB 세션에 문제가 있으면 단순히 SQLException을 발생한 후 재접속 처리를 합니다. 문제는 트랜잭션 구동 환경에서 수행 중이던 트랜잭션은 롤백이 되어야 하고, 남은 트랜잭션은 수행되지 않아야 하는데 autoReconnect옵션은 이런 처리를 하지 않기 때문입니다. 따라서 데이터 정확성이 깨질 수 있습니다...

Spring Framework Project에서 DataBase 사용

1. 필요한 lib commons-logging.jar ojdbc14.jar postgresql.jdbc3.jar spring.jar tomcat-dbcp.jar 2. 테스트 소스 (1) DataStuff.java (JdbcTemplate를 이용해서 처리) import java.util.List; import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; public class DataStuff { private DataSource dataSource; private JdbcTemplate jdbcTemplate; List getNames() { return jdbcTemplate.queryForList("select *..

웹 개발 2019.08.11

DB Join의 방식

Join의 종류와 방식 Join의 종류 ( 논리적 Join ) - INNER Join - OUTER Join - CROSS Join - FULL OUTER Join - SELF Join Join의 방식 ( 물리적 Join ) - Nested Loop Join - 중첩반복 - Merge Join - 정렬병합 - Hash Join - 해시매치 Join의 방식 1. 중첩반복(Nested Loops) 조인 바깥 테이블의 처리 범위를 하나씩 액세스하면서 그 추출된 값으로 안쪽 테이블을 조인하는 방식 - 순차적으로 처리된다. - 바깥 테이블과 일치하는 값을 안쪽 테이블에서 찾아야 하므로 안쪽 테이블의 해당 열에 인덱스가 필요하다. - 메모리 사용량은 가장 적다. - 바깥 테이블과 안쪽 테이블의 크기는 성능과 관련이..

728x90
반응형
loading