@RestController
@Controller
에 @ResponseBody
가 추가된 것@RequiredArgsConstructor
Lombock
라이브러리final
이 붙거나 @NotNull
이 붙은 필드의 생성자를 자동 생성@Id
@GeneratedValue
public enum GenerationType {
/**
* Indicates that the persistence provider must assign
* primary keys for the entity using an underlying
* database table to ensure uniqueness.
*/
TABLE,
/**
* Indicates that the persistence provider must assign
* primary keys for the entity using a database sequence.
*/
SEQUENCE,
/**
* Indicates that the persistence provider must assign
* primary keys for the entity using a database identity column.
*/
IDENTITY,
/**
* Indicates that the persistence provider must assign
* primary keys for the entity by generating an RFC 4122
* Universally Unique IDentifier.
*/
UUID,
/**
* Indicates that the persistence provider should pick an
* appropriate strategy for the particular database. The
* <code>AUTO</code> generation strategy may expect a database
* resource to exist, or it may attempt to create one. A vendor
* may provide documentation on how to create such resources
* in the event that it does not support schema generation
* or cannot create the schema resource at runtime.
*/
AUTO
}
@Getter
@MappedSuperclass
//JAP Entity 클래스들이 해당 클래스를 상속하면 생성시간, 수정시간도 컬럼으로 인식
@EntityListeners(AuditingEntityListener.class)
//해당 클래스에 Auditing 기능 포함
//엔티티를 db에 적용하기 전,후에 커스텀 콜백을 요청, 요청할 클래스 인자로 지정
public class Timestamped {
@CreatedDate //생성시간 저장
private LocalDateTime createdAt;
@LastModifiedDate // 수정시간 저장
private LocalDateTime modifiedAt;
}
@EnableJpaAuditing
- JPA auditing 애노테이션 활성화
Spring Data JPA에서 시간에 대해서 자동으로 값을 데이터베이스 테이블에 넣어주는 기능
@Transactional
@JsonIgnore
@PathVariable
URL 경로에 변수 넣어줌
@GetMapping("/blog/{id}")
----- 요것
@PathVariable Long id
: PathVariable 방식으로 id값을 가져옴
https://ttl-blog.tistory.com/123
https://velog.io/@developerjun0615/Spring-RequiredArgsConstructor-어노테이션을-사용한-생성자-주입
@Id / @GeneratedValue에 대해 알아보자