사용자 도구

사이트 도구


java:hibernate:generated

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:hibernate:generated [2021/10/07 21:42]
kwon37xi
java:hibernate:generated [2021/10/07 22:00] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Hibernate @Generated ====== ====== Hibernate @Generated ======
 +  * [[https://docs.jboss.org/hibernate/orm/6.0/javadocs/org/hibernate/annotations/Generated.html|@Generated ]]
   * 테이블 생성시에 ''TIMESTAMP'' 자동 생성을 하도록 하는 것처럼, DB에 의해 insert/update 시에 자동으로 값이 생성, 업데이트 되는 필드를 지정한다.   * 테이블 생성시에 ''TIMESTAMP'' 자동 생성을 하도록 하는 것처럼, DB에 의해 insert/update 시에 자동으로 값이 생성, 업데이트 되는 필드를 지정한다.
   * 주로 ''TIMESTAMP''에 지정될 것으로 보인다. 하지만, DB 자체에 테이블 선언시 특정 컬럼을 자동 생성가능하게 하는 기능이 있다면, 해당되는 컬럼에 다 사용할 수 있다.   * 주로 ''TIMESTAMP''에 지정될 것으로 보인다. 하지만, DB 자체에 테이블 선언시 특정 컬럼을 자동 생성가능하게 하는 기능이 있다면, 해당되는 컬럼에 다 사용할 수 있다.
   * see [[java:jpa:datetime|JPA Date Time]]   * see [[java:jpa:datetime|JPA Date Time]]
 +  * [[java:hibernate:valuegenerationtype|Hibernate @ValueGenerationType]]
 +  * 이 방식은 legacy 로 가급적 다른 방식을 권한다.
  
 <note warning>이 기능은 persist/merge 후에 자동 생성된 값을 다시 자동으로 DB에서 읽어들이기 때문에 DB 부담이 될 수도 있다. PK로 읽기 때문에 매우 높은 수준의 부담은 아니다.</note> <note warning>이 기능은 persist/merge 후에 자동 생성된 값을 다시 자동으로 DB에서 읽어들이기 때문에 DB 부담이 될 수도 있다. PK로 읽기 때문에 매우 높은 수준의 부담은 아니다.</note>
줄 8: 줄 11:
 ===== Example ===== ===== Example =====
 <code java> <code java>
-@Temporal(TemporalType.TIMESTAMP) 
 @Generated(GenerationTime.ALWAYS)  @Generated(GenerationTime.ALWAYS) 
 @Column(name="create_date", insertable=false,updatable=false) @Column(name="create_date", insertable=false,updatable=false)
-private Calendar createDate;+private LocalDateTime createDate;
 </code> </code>
  
줄 19: 줄 21:
 modified_at     DATETIME(6)  NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), modified_at     DATETIME(6)  NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
 </code> </code>
 +
  
 ===== 참조 ===== ===== 참조 =====
java/hibernate/generated.1633610558.txt.gz · 마지막으로 수정됨: 2021/10/07 21:42 저자 kwon37xi