JPA
-
[Spring JPA] @Id와 @GeneratedValue - Primary Key 생성방법Spring/JPA 2021. 4. 2. 15:49
@Id는 해당 프로퍼티가 테이블의 주키(primary key) 역할을 한다는 것을 나타낸다. @GeneratedValue는 주키의 값을 위한 자동 생성 전략을 명시하는데 사용한다. Primary 키 생성 전략으로 JPA가 지원하는 것은 아래의 네 가지이다. 1. AUTO : (persistence provider가) 특정 DB에 맞게 자동 선택 데이터베이스 벤더에 의존하지 않고, 데이터베이스는 기본키를 할당하는 벙법 - 데이터베이스에 따라서 IDENTITY, SEQUENCE, TABLE 방법 중 하나를 자동으로 선택해주는 방법이다. - 예를들어, Oracle일 경우 SEQUENCE를 자동으로 선택해서 사용합니다. 따라서, 데이터베이스를 변경해도 코드를 수정할 필요가 없다. 2. IDENTITY : DB의..
-
[Spring JPA] jpa 사용하기 - JpaRepositorySpring/JPA 2021. 4. 2. 15:24
jpa 를 사용하려면 @Entity 클래스를 먼저 생성해야 한다. @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name="coin.market_code") public class MarketCode { @Id @Column(name = "market_code") private String marketCode; @Column(name = "korean_name") private String koreanName; @Column(name = "english_name") private String englishName; @Builder public MarketCode(String marketCode, String koreanName, St..
-
[spring JPA] 스프링 jpa converter (empty string to null)Spring/JPA 2020. 10. 2. 22:40
JPA 를 사용하면서 DB 에 어떤 특정값이 들어오면 변환해줘야 할 떄가 있다. 예를 들어 empty string 을 null 로 넣어줘야 할떄다. (mysql) 빈스트링이 "" 가 들어올때 null 로 바꿔서 db 에 넣고 싶을때 @Convert 가 필요하다, 이 외에도 어떤 고정된 값들은 특정 값으로 변환해서 db 에 넣어줄떄 이 Convert 가 필요하다. 구현 방법은 변경하고자 하는 컬럼명 위에 @Convert 적고, 커스텀한 Class 명을 기입한다. @Table(name = "db1.test") public class Test { ... @Convert(converter = EmptyStringToNullConverter.class) @Column(name = "test_data") priva..