μ€λλ μ€μ μ€ν ν νλ‘μ νΈλ₯Ό μ§ννμκ³ , μ€λμ μ§κΈ κΉμ§ λ§λ€μλ λ°±μλ κΈ°λ₯μ λν΄ λ¦¬μ‘νΈ κΈ°μ λ‘ νλ‘ νΈ μλλ₯Ό ν루μ’
μΌ μ§ννμλ€.
(νμλΆλ€μ λμ λλΆμ κ·Έλλ μͺΌκΈ μ κ² κ°κ³ , ꡬννμλ€)
κ·Έλλ μ€λ λ€λ₯Έ νμλΆμ μ½λ 리뷰λ₯Ό νλ©΄μ μ²μ λ³Έ μ΄λ
Έν
μ΄μ
μ΄ μμ΄ μ 리ν λ €κ³ νλ€. @DynamicInsert μ @ColumnDefault μ΄ λ μ΄λ
Έν
μ΄μ
μ΄λ€.
λ§μΌμ μ 체 μν μ‘°ν νμ΄μ§μ, μνμ λ±λ‘ λ²νΌμ΄ μλ νμ΄μ§
μν λ±λ‘ λ²νΌμ ν΄λ¦μ μνμ λ±λ‘ν μ μλ νμ΄μ§
μνμ λ±λ‘ν 5κ° λ¨μλ‘ νμ΄μ§ μ²λ¦¬λ₯Ό ν νμ΄μ§
π€ λ°±μλλ‘ μ§μνλ©΄ νλ‘ νΈ μ½λλ μμ μ³λ€ 보μ§λ μλλ€λλ°, μ΄κ² μλ―Έκ° μλ ν ..
λ΄μΌμ μ₯λ°κ΅¬λ μνμ λν λκ΄μ λ½ κ³Ό λΉκ΄μ λ½μ λν΄μ μ 리ν μμ μ΄λ€.
@DynamicInsertκ°λ¨ν μν (Product) μν°ν° ν΄λμ€ μ
λλ€.
(@DynamincInsert μ΄λ
Έν
μ΄μ
μ΄ λΆμ΄ μμ§ μμ)
@Entity
@Getter
@Table(name = "product")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Product {
@Id
@GeneratedValue(strategy = IDENTITY)
private Long id;
@Column(name = "product_name")
private String productName;
@Column(name = "product_price")
private String price;
@Lob
@Column(name = "product_content")
private String content;
@Column(name = "product_count")
private Integer count;
@Enumerated(EnumType.STRING)
@Column(name = "product_category")
private Category category;
private String status;
}
ν¬μ€νΈλ§¨μ ν΅ν΄ statusμ νλλ₯Ό μ μΈν μμ² (Request)μ 보λμλ μΏΌλ¦¬κ° λ°μνλ λμμ statusμ λν 쿼리λ λ°μνκ² λλ€.
@DynamicInsert μ΄λ
Έν
μ΄μ
μ λΆμ΄λ©΄ μ΄λ»κ² λ κΉμ?
β‘ status νλμ λν μΏΌλ¦¬κ° λ°μνμ§ μμ κ²μ μμ μμ΅λλ€.
λ°μ΄ν° λ² μ΄μ€μλ nullλ‘ μ μ₯λλ κ² μ μμ μμ΅λλ€.
@DynamicInserμ μ₯μ μΌλ‘λ ν¨μ¨μ μΌλ‘ 쿼리λ₯Ό μ€ν ν μ μλ€λ μ μ
λλ€.
@ColumnDefault @Entity
@Getter
@Table(name = "product")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Product {
@Id
@GeneratedValue(strategy = IDENTITY)
private Long id;
@Column(name = "product_name")
private String productName;
@Column(name = "product_price")
private String price;
@Lob
@Column(name = "product_content")
private String content;
@Column(name = "product_count")
private Integer count;
@Enumerated(EnumType.STRING)
@Column(name = "product_category")
private Category category;
@ColumnDefault("'Y'")
private String status;
}
νλ μμ @ColumnDefault(μ§μ ν κ°) μ μμ±νμ¬ μ¬μ© νλ©΄ λλ©°,
μΏΌλ¦¬κ° λ°μνμ§ μμ§λ§, μ€μ κ°μΌλ‘ λ°μ΄ν°λ² μ΄μ€μ μ΄κΈ°ν λλ κ²μ μμ μλ€.
β‘ κΈ°λ³Έκ° μ€μ μ κ°νΈμ±μ΄ μμΌλ©°, λλ μ 2κ°μ μ΄λ
Έν
μ΄μ
κ³Ό @SqlDelete μ΄λ
Έν
μ΄μ
μ μ¬μ©νμ¬ λ
Όλ¦¬ μμ λ₯Ό ꡬννμλ€.
https://velog.io/@choidongkuen/JPA-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-DynamicInsert-DynamicUpdate-%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B4%85%EC%8B%9C%EB%8B%A4
(DynamicInsert, DynamicUpdate λΈλ‘κ·Έ)