본문 바로가기

엔티티6

[개발] Survey 엔티티 생성 및 Converter 설정하기 - Kotlin 지난 번 글에서는 Java로 converter를 구현했고, 오늘은 Kotlin으로 엔티티를 생성하며 converter를 만들었다. Survey@Column(columnDefinition = "mediumText COMMENT '추가 기본 정보 수집'")@Convert(converter = StringConverter::class)var custom: List? = null,@Column(columnDefinition = "mediumText COMMENT '평가 요소'")@Convert(converter = ElementConverter::class)var elements: List StringConverterpackage com.seung.survey_kotlin.commons.converterimpo.. 2024. 11. 20.
[개발] 포인트 적립 구현 - 1 포인트 기능 중에 게시글 등록을 하면 3포인트를 적립 해주는 코드를 우선 구현해보려고 한다. PointHistory @Getter @NoArgsConstructor @AllArgsConstructor @Builder @Entity public class PointHistory extends BaseEntity implements Serializable { @Serial private static final long serialVersionUID = -7094631532990738540L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "point_history_id", columnDefinition = "bigint COMM.. 2024. 4. 15.
[Java] JPA 강의 - 4 (엔티티 매핑) 객체와 테이블 매핑 @Entity - JPA가 관리하는 엔티티 - 기본 생성자 필수 - 저장할 필드에 final 사용하면 안됨 - 속성 : name -> JPA에서 사용할 엔티티 이름을 지정 @Table 속성 - name : 매핑할 테이블 이름 - catalog : 데이터베이스 catalog 매핑 - schema : 데이터베이스 스키마 매핑 - uniqueConstraints : DDL 생성 시 유니크 제약 조건 생성 데이터베이스 스키마 자동 생성 - DDL을 애플리케이션 실행 시점에 자동 생성 (ex. Insert into) - 생성된 DDL은 개발 장비에서만 사용 (운영서버에서 사용X) 속성 - create : DROP + CREATE 기존 테이블 삭제 후 다시 생성 - create-drop : 종료.. 2024. 1. 17.
[Java] JPA 강의 - 3 (영속성 관리) 1. 영속성 컨텍스트 - 엔티티를 영구 저장하는 환경 - 엔티티 매니저를 통해서 영속성 컨텍스트에 접근함 - 논리적인 개념 2. 엔티티의 생명주기 - 비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 - 영속 영속성 컨텍스트에 관리되는 상태 - 준영속 영속성 컨텍스트에 저장되었다가 분리된 상태 - 삭제 삭제된 상태 3. 영속성 컨텍스트의 이점 - 1차 캐시 1차 캐시에서 조회 : DB를 직접 조회하는 것이 아닌 1차 캐시에서 조회하는 것 데이터베이스에서 조회 : 1차 캐시에 없으면 DB에서 조회 후 1차 캐시에 저장하고 반환함 --> JPA는 엔티티를 조회하면 영속성 컨텍스트에 올림 - 동일성 보장 같은 트랜잭션 안에서 1차 캐시로 읽으면 동일성을 보장함 - 트랜잭션을 지원하는 쓰기 지연 엔티티 매.. 2024. 1. 11.