Miracle Morning, LHWN

8-3. 프로젝트에서 JPA 직접 사용해보기 본문

IT 기술/[JAVA] Spring Boot

8-3. 프로젝트에서 JPA 직접 사용해보기

Lee Hye Won 2021. 5. 11. 08:21

AppInitializer 에서 사용했던 save 대신 saveAll 메서드를 사용해볼 것이다.

 

그러기 위해서는 Name 과 Nation 만 가지고 있는 Company Constructor 를 만들어줄 것인데,

이러한 생성자를 만들 때에는 "인자가 없는 생성자" 를 먼저 만들어주어야 한다.

 

이렇게 Name Nation 로 생성자를 만들어놓으면, Name  Nation 만 넣어줘도 새로운 객체를 만들어준다.

 

Company.java

package com.springPractice.carInfo.domain;

import lombok.Data;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name="company")
@Data
public class Company extends BaseEntity{

    public Company() {}

    public Company(String companyName, String companyNation) {
        this.companyName = companyName;
        this.companyNation = companyNation;
        super.setUpdatedAt(new Date());
        super.setCreatedAt(new Date());
    }
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name="company_name")
    private String companyName;

    @Column(name="company_nation")
    private String companyNation;
}

AppInitializer.java

@PostConstruct
    private void init() {
        System.out.println("AppInitializer Start...");

        List<Company> companyList = new ArrayList<>();
        companyList.add(new Company("Ferrari", "Italy"));
        companyList.add(new Company("lamborghini", "Italy"));
        companyList.add(new Company("BMW", "Germany"));
        companyList.add(new Company("Hyundai", "Korea"));
        companyList.add(new Company("KIA", "Korea"));
        companyList.add(new Company("Volvo ", "Sweden"));
        companyList.add(new Company("Renault", "France"));
        companyList.add(new Company("Tesla", "United States"));
        companyList.add(new Company("Cadillac", "United States"));
        companyList.add(new Company("Lincoln", "United States"));
        companyList.add(new Company("JEEP", "United States"));

        companyService.saveAll(companyList);
    }

 

출처 : fastcampus.co.kr/courses/204729/clips/

Comments