Spring

Spring 일지 #29 (20210914) 화면 구현(이미지 entity, 저장소 등록)

uni5948 2021. 9. 27. 16:49

29. 이미지 등록

-entity 등록

 *itemimage entity 등록(ItemImage.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 = "ITEMIMAGE")

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

public class ItemImage {

    @Id

    @Column(name = "NO")

    @GeneratedValue(strategy = GenerationType.SEQUENCEgenerator = "SEQ1")

    private Long no;

 

    @Lob

    @Column(name = "IMAGE")

    private byte[] image = null;

 

    @Column(name = "IMAGENAME")

    private String imagename = null// 파일명

 

    @Column(name = "IMAGESIZE"nullable = falsecolumnDefinition = "long default 0"// 기본값 0으로 설정

    private Long imagesize;

 

    @Column(name = "IMAGETYPE")

    private String imagetype = null// 파일 종류

 

    // 날짜타임 포멧 설정

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

    @CreationTimestamp

    @Column(name = "REGDATE")

    private Date regdate;

 

    // Item의 기본키 정보를 외래키로 설정

    @ManyToOne

    @JoinColumn(name = "ITEM")

    private Item item;

}

 

 *테이블 확인, 시퀀스 등록(오라클)

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

테이블 확인
시퀀스 생성

 

 *저장소 생성(ItemImageRepository.java)

package com.example.repository;

 

import java.util.List;

 

import com.example.entity.ItemImage;

 

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

 

public interface ItemImageRepository extends JpaRepository<ItemImageLong> {

 

}