반응형 전체 글99 [JPA] 복합키, 외래키 Entity 설정하기(@IdClass를 사용하여 식별관계 매핑) 올해 초 복합키, 외래키 사용이 많은 테이블을 JPA Entity로 구현했어야 했는데, JPA 사용이 처음이였어서 익숙하지 않아 복잡하게 느껴졌었다. 나같은 사람을 위해 정리해 본다! Entity에 복합키를 통한 식별관계를 매핑하는 방법은 @IdClass, @EmbededId 두가지가 있는데 본인은 @IdClass를 사용했다. @EmbededId는 @IdClass 방식 보다 좀더 객체지향 방식이라고 한다. 하지만 특정 객체를 사용하기 위해서 객체 그래프를 깊게 탐색해야하는 경우가 있고, 깊이 감춰져 있어서 명시적으로 보이지 않는다고.. 예를 들어 grandChild Entity에서 parent_id를 구하기 위해선 아래와 같이 탐색해야 한다. grandChild.getGId().getCId().getPI.. 2021. 12. 23. [Linux] 방화벽 설정하기 / 특정 포트 방화벽 오픈 CentOS6 까지는 방화벽 설정을 하기 위해선 iptables서비스를 재시작하여 방화벽 규칙을 설정하였고, CentOS7 부터는 방화벽을 관리하는 데몬인 firewalld가 제공되어 보다 쉽게 설정할 수 있다. 본 포스팅에선 firewalld에 대해 설명하고자 한다! 리눅스 OS 버전 확인 방법 cat /etc/*release* firewalld 설치 yum install firewalld systemctl start firewalld systemctl enable firewalld 기본 설정은 /usr/lib/firewalld/에 위치하고 있다. 여기서 zone과 zone별 허용하는 서비스를 확인할 수 있다. 시스템 개별 설정은 /etc/firewalld/에 위치하고 있으며 firewalld.conf.. 2021. 12. 22. [Log] 로그 파일 분리하기 - Log4j, Logback 프로젝트 진행 도중 특정 서비스만 로그 파일을 분리해서 저장해야될 일이 있어 아래와 같이 수정하였다. 수정 전 org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BasicService.class.getName()); logger.info("로그 내용"); 수정 후 org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BasicService.class.getName()); org.slf4j.Logger regLogger = org.slf4j.LoggerFactory.getLogger("RegLogger"); logger.info("로그 내용"); regLogger.info("로그 내용"); 분리해.. 2021. 12. 22. [JAVA] 날짜 비교 하기 (Date, LocalDateTime, LocalDate) 1. java.util.Date에는 날짜를 비교할 수 있는 메소드가 두가지 있다. after, before 사용 - before: 인자보다 과거일 때 true - after: 인자보다 미래일 때 true - equal: 인자와 같을 때 true public void compareDate(Date date1, Date date2){ if(date1.after(date2)){ System.out.println("Date1 > Date2"); } if(date1.before(date2)){ System.out.println("Date1 < Date2"); } if(date1.equals(date2)){ System.out.println("Date1 = Date2"); } } compareTo 사용 - comp.. 2021. 12. 21. [Log4j2 취약점 이슈] spring boot 내장된 Log4j2 라이브러리 버전 변경하기 (maven, gradle) 지난주 주말에 log4j2 취약점 이슈가 있었다. 다행히 우리 프로젝트에선 문제가 있는 log4j2-core를 사용하고 있지 않았지만 log4j2-api, log4j-to-slf4와 같은 라이브러리도 최신화하고자 했다. Spring Boot 라이브러리에 내장된 log4j2를 사용 중이였고, 먼저 Spring Boot의 버전을 가장 최신 버전인 2.6.1로 변경하였다. 하지만 2.6.1 버전에 내장된 log4j2의 버전은 2.14.1이였고.. 내장된 라이브러리의 버전을 변경하는 방법을 찾아 해결하였다! 방법1 2.17.0인 log4j-api, log4j-to-slf4j를 선언해주면 spring boot에 내장된 log4j의 라이브러리 버전이 변경된다. gradle implementation group: '.. 2021. 12. 17. [Linux] MySQL DB 백업 스크립트 - 자동으로 백업하기 데이터베이스의 데이터를 자동으로 백업할 수 있도록 스크립트를 작성했다. #! /bin/bash # backup directory dir=$(echo /home1/test01/project01/db/backup) # get backup file time and now time customer_BackupFileDate=$(date -r $dir/backup_customer.sql '+%Y-%m-%d %H:%M:%S') customer_BackupFileDateString=$(date -r $dir/backup_customer.sql '+%Y%m%d_%H%M%S') # rename last backup file mv $dir/backup_customer.sql $dir/backup_customer_$cust.. 2021. 12. 17. 이전 1 ··· 9 10 11 12 13 14 15 ··· 17 다음 728x90 반응형