카테고리 없음
Spring Boot JPA(Hibernate) Jsonb
Tada.*+
2023. 2. 21. 11:47
728x90
JSON 객체로 쓰일 class를 하나 정의합니다.
package com.example.postgresql;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class JsonTest implements Serializable {
public String id;
public String lable;
}
Entity(테이블)에 JSON 칼럼을 정의합니다. '@JdbcTypeCode(SqlTypes.JSON)' 어노테이션 사용
package com.example.postgresql.entry;
import com.example.postgresql.JsonTest;
import jakarta.persistence.*;
import lombok.Data;
import lombok.RequiredArgsConstructor;
//아래 코드 확인
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
@Data
@RequiredArgsConstructor
@Entity(name = "user_tb")
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "gender")
private String gender;
//아래 코드 확인
@JdbcTypeCode(SqlTypes.JSON)
private JsonTest data;
public UserEntity(Integer id, String name, String gender) {
this.id = id;
this.name = name;
this.gender = gender;
}
}
public void save(UserEntity entity) {
JsonTest data = new JsonTest();
data.setId("id_0");
data.setLable("lable 정보");
entity.setData(data);
userRepository.save(entity);
}
728x90