@Getter
@Setter
@Entity
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(length = 200)
private String subject;
@Column(columnDefinition = "TEXT")
private String content;
private LocalDateTime createDate;
}
엔티티의 속성은 @Column을 사용하지 않아도 컬럼으로 인식한다.
컬럼으로 인식하고 싶지 않은 경우, @Transient를 사용하면 된다.
예를 들어 createDate의 경우 테이블의 컬럼으로 저장될 때, create_date가 된다.
일반적으로 엔티티에는 데이터의 안전을 위해서 Setter메서드를 구현하지 않고 사용하기를 권한다.
그렇다면 setter메서드없이 어떻게 값을 저장할까?
엔티티 생성 시에는 lombok의 @Builder 애너테이션을 사용하고, 데이터의 변경이 필요할 경우, 그에 해당되는 메서드를 따로 추가하여 데이터를 변경할 수 있게 하면 된다.