Spring

Spring 일지 #26 (20210914) 화면 구현(물품 entity, 저장소 등록)

uni5948 2021. 9. 27. 12:44

26. 물품 entity, 저장소 등록

-entity 등록

 *item entity 등록(Item.java)

package com.example.entity;

 

import java.util.Date;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.Lob;

import javax.persistence.ManyToOne;

import javax.persistence.SequenceGenerator;

import javax.persistence.Table;

 

import org.hibernate.annotations.CreationTimestamp;

import org.springframework.format.annotation.DateTimeFormat;

 

import lombok.Getter;

import lombok.NoArgsConstructor;

import lombok.Setter;

import lombok.ToString;

 

@Entity

@Getter

@Setter

@ToString

@NoArgsConstructor

 

@Table(name = "ITEM")

@SequenceGenerator(name = "SEQ1", sequenceName = "SEQ_ITEM_NO", initialValue = 1, allocationSize = 1)

public class Item {

 

    @Id // 기본키

    @Column(name = "NO"// 칼럼명 : Number

    @GeneratedValue(strategy = GenerationType.SEQUENCEgenerator = "SEQ1"// 시퀀스의 값으로 추가됨

    private Long no;

 

    @Column(name = "NAME"length = 100// 물품명 VARCHAR2(100)

    private String name;

 

    @Lob // String 타입이면 clob, byte[] 이면 blob

    @Column(name = "CONTENT"// CLOB 길이가 아주 긴 문자열

    private String content;

 

    @Column(name = "QUANTITY")

    private Long quantity;

 

    @Column(name = "PRICE")

    private Long price;

 

    // 날짜타임 포멧 설정

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")

    @CreationTimestamp

    @Column(name = "REGDATE")

    private Date regdate;

 

    @ManyToOne // 판매자 정보

    @JoinColumn(name = "SELLER")

    private Member member;

}

 

 *테이블 확인, 시퀀스 생성(오라클)

 **address 때와 같이 시퀀스가 자동으로 생성되지 않았다면 수동으로 생성한다.

 **시퀀스 등록 시 '캐쉬 없음'을 체크하면 순차적으로 나열된다.

item 테이블 확인
item 시퀀스 생성

 

 *저장소 생성(ItemRepository.java)

package com.example.repository;

 

import java.util.List;

 

import com.example.entity.Item;

import com.example.entity.ItemProjection;

 

import org.springframework.data.jpa.repository.JpaRepository;

 

public interface ItemRepository extends JpaRepository<ItemLong> {

 

}