본문 바로가기

Spring42

Entity-Table 매핑 - 기본키 매핑 JPA에서 기본키를 어떻게 매핑할 수 있는지 알아보겠다 먼저, 엔티티에서 기본키를 매핑하려면 기본키에 해당하는 필드 위에 @Id 애너테이션을 붙이면 된다 @Entity public class Member{ @Id public Long id; } 그리고 기본키 타입이 정수형일 경우 Insert시 기본키 값이 자동으로 증가되게 하려면 @GeneratedValue라는 애너테이션을 기본키에 해당하는 필드 위에 붙이면 된다 @Entity public class Member{ @Id @GerneratedValue(strategy=GenerationType.AUTO) public Long id; } @GeneratedValue에는 기본키값을 증가시키는 여러 전략들이 존재한다 @GeneratedValue 전략 Gene.. 2023. 2. 24.
환경세팅 Dependency 목록 maven mysql mysql-connector-java 8.0.27 org.hibernate hibernate-entitymanager 5.6.11.Final org.projectlombok lombok 1.18.24 provided persistence.xml 아래 경로에 persistence.xml 파일을 작성한다 src/main/resources/META-INF/persistence.xml 추가 1) persistence.xml 에서 h2 DB Driver를 찾지못하는경우 위 경우에는 pom.xml에 아래와 같이 되어있는지 확인한다 는 dependency를 어느 시점에 적용할 것인지 설정하는 부분이다 아래에서는 test로 설정되어 테스트 컴파일 및 실행 단계에서만 적용되.. 2023. 2. 24.
Entity-Table 매핑 - 필드 매핑(@Transient) @Transient는 DB의 컬럼과 매핑하지 않는 속성을 명시할 때 사용한다 DB에 저장하는 용도가 아닌 변수에 임시로 값을 저장하거나, 데이터처리를 위해 값을 저장할 때 사용한다. @Entity public class Member{ @Id String userId; String username; Integer age; @Transient Integer temp; } 2023. 2. 23.
Entity-Table 매핑 - 필드 매핑(@Lob) @Lob은 대용량 데이터를 저장할 때 사용한다 오라클의 경우 BLOB, CLOB MySQL의 경우 BLOB, TEXT와 매핑된다 @Lob은 Java의 데이터 타입에 따라 매핑되는 타입이 달라진다 오라클을 예시로 들자면 아래와 같이 매핑될 수 있다 BLOB: byte[], java.sql.BLOB CLOB: String, char[], java.sql.CLOB 아래는 사용 예이다 @Entity public class Report{ @Id private Long Id; private String title; //CLOB @Lob private String reportContent //BLOB @Lob private byte[] attachedFile; } 2023. 2. 23.