본문 바로가기

전체 글

(175)
[JPA] 기본키 자동 생성 전략(Primary Key) 1. Goal 1) 기본키 매핑 방법 2) 기본키 자동 생성 전략 4가지 2. 기본키 매핑 방법 @Entity public class User { @Id private Long id; } 기본키로 지정하고 싶은 변수에 @Id 어노테이션을 선언하면 해당 컬럼이 기본키로 지정됩니다. 3. 기본키 자동 생성 전략 4가지 기본키를 자동으로 생성하려면 @GeneratedValue(strategy = GenerationType.AUTO) 어노테이션을 기본키 변수 위에 선언해주면 됩니다. 기본키 자동 생성 전략은 4 가지가 있으며 전략속성을 생략하면 AUTO 속성으로 지정됩니다. 1) AUTO @Entity public class User { @Id @GeneratedValue(strategy = Generation..
[JPA] @MappedSuperclass 사용법 1. @MappedSuperclass란? 엔티티 별로 공통 필드가 존재하는 경우 불 필요한 중복 코드를 제거하기 위해 사용합니다. 2. 사용방법 1) BaseEntity.java import javax.persistence.MappedSuperclass; import java.time.LocalDateTime; @MappedSuperclass public abstract class BaseEntity { private LocalDateTime createDt; private LocalDateTime updateDt; } @MappedSuperclass 어노테이션을 클래스명 위에 선언하며, 공통 클래스를 별도로 생성하는 일이 없다면 추상 클래스로 선언하는 것이 좋습니다. 등록일, 수정일 같이 여러 테이블에..
[JPA] 상속 관계 매핑 1. 상속 관계 매핑이란? 슈퍼타입 테이블, 서브타입 테이블을 자바에서 상속관계인 것 처럼 사용하는 방법입니다. 2. 상속 관계 매핑 전략의 종류 1) JOINED (조인전략) 슈퍼타입과 서브타입을 식별관계로 사용하는 방법입니다. 2) SINGLE_TABLE (단일 테이블 전략) 슈퍼타입과 서브타입을 하나의 테이블로 생성하는 전략입니다. 3) TABLE_PER_CLASS (타입 별 테이블 생성 전략) (비추천) 파일 타입 별로 테이블을 생성하는 전략입니다. 3. 상속 관계 매핑 적용 1) FileInfo.java import javax.persistence.*; @Entity @Table(name = "file_info") @Inheritance(strategy = InheritanceType.JOINE..
[JPA] Hibernate 연동 방법 1. 테스트 환경 JAVA 1.8 Maven Mysql 2. Hibernate 연동 및 테스트 1) Maven 프로젝트 생성 2) pom.xml hibernate와 mysql connector 라이브러리를 추가해줍니다. org.hibernate hibernate-entitymanager 5.3.10.Final mysql mysql-connector-java 6.0.6 3) persistence.xml 작성 DB 접속 정보 및 hibernate 설정 정보를 작성합니다. persistence.xml 파일의 경로는 반드시 src/main/resources/META-INF 아래에 위치해야 합니다. 4) Member entity 생성 및 테이블 생성 Member.java package entity; import ..
[SpringBoot] 이메일 전송 (Gmail SMTP Server) 1. Gmail SMTP Server 구글 계정만 있으면 Gmail SMTP Server를 통해 무료로 이메일을 전송할 수 있습니다. Gmail SMTP Service 설정 정보는 다음과 같습니다. 2. pom.xml (dependency) org.springframework.boot spring-boot-starter-mail 3. application.yml spring : mail : host : smtp.gmail.com port : 587 username : 'your email' password : 'your password' properties : mail : smtp : auth : true starttls : enable : true 4. 이메일 전송 예제 1) MailTO.java 전송..
[Jenkins] 젠킨스 설치 젠킨스란? 젠킨스(Jenkins)는 소프트웨어 개발 시 빌드, 테스트, 배포 등의 작업을 자동화하여, 지속적인 통합을 제공해주는 툴입니다. 다수의 개발자들이 하나의 프로그램을 개발할 때 각자 작업한 내용을 Git 또는 SVN 등의 저장소에 최신화하고 젠킨스는 이를 참조하여 빌드, 테스트, 배포를 가능하도록 해 줍니다. Jenkins는 Cent OS 7에 설치하도록 하겠습니다. 1. 의존성 설치 # yum install -y perl-devel 2. zlib 설치 zlib는 git 설치 시 필요한 라이브러리므로 설치해줍니다. # wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz # tar xvfz zlib-1.2.11.tar.gz # cd zlib-1.2.11 #..
[Linux] Open jdk 경로 찾기 해당 테스트는 Cent OS7의 open-jdk 1.8을 기준으로 진행했습니다. # which java /usr/bin/java # ll /usr/bin/java lrwxrwxrwx. 1 root root 22 Apr 25 22:19 /usr/bin/java -> /etc/alternatives/java # ll /etc/alternatives/java lrwxrwxrwx. 1 root root 73 Apr 25 22:19 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre/bin/java # cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9...
[JAVA] AES-256 암호화 하기 1. AES 란? AES는 고급 암호화 표준이라는 의미이며, 암호화 및 복호화 시 동일한 키를 사용하는 대칭키 알고리즘입니다. AES의 종류는 AES-128, AES-192, AES-256이 있고 각각 뒤에 붙은 숫자가 키의 길이를 의미합니다. AES 암호화 알고리즘은 높은 안정성과 빠른 속도로 전세계적으로 사용되고 있습니다. 2. AES 암호화 설명 1) Secret Key Secret Key는 평문을 암호화하는데 사용되며 절때로 외부에 노출되어서는 안됩니다. AES의 종류가 무엇이냐에 따라 Secret Key의 길이가 달라집니다. (AES-256는 256비트(32바이트)의 키를 사용합니다.) 2) Block Cipher AES는 128비트(16바이트)의 고정된 블록 단위로 암호화를 수행합니다. (이는..

반응형