Spring : @CreationTimestamp 에러

cad·2022년 4월 10일
1

Spring

목록 보기
14/15

Security 학습을 하던 도중 DB 테이블 자동 생성 과정에서 Model를 짜던 중 아래와 같은 에러가 발생했다.

Failed to initialize JPA EntityManagerFactory: Unsupported property type [java.lang.String] for @CreationTimestamp or @UpdateTimestamp generator annotation

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unsupported property type [java.lang.String] for @CreationTimestamp or @UpdateTimestamp generator annotation

Hibernate maven을 추가해줘야 하나 했는데 추가해줘도 같았다. 다른 자료를 찾아보니 @CreationTimestamp 대안으로 @CreatedDate 가 있었고 이걸로 바꿔주니 해결되었다. 여기서 둘의 기능 상 차이는 없는 것 같다.

@CreationTimestamp는 Hibernate에서 제공하는 어노테이션이고
@CreatedDate는 Spring 에서 제공하는 어노테이션이다.

요즘에는 Hibernate 어노테이션 자체를 점점 사용하지 않고 @CreatedDate가 JPA, JDBC, R2DBC, mongoDB, Cassandra등 Spring Data에서 사용된다.

결론은 @CreatedDate 쓰자.


출처
https://stackoverflow.com/questions/66149224/whats-the-difference-between-creationtimestamp-and-createddate-in-spring-boot

https://www.inflearn.com/questions/258989

profile
Dare mighty things!

0개의 댓글