사용자 도구

사이트 도구


java:hibernate:generated

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:hibernate:generated [2021/10/07 21:33]
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''에 지정될 것으로 보인다.+  * 주로 ''TIMESTAMP''에 지정될 것으로 보인다. 하지만, DB 자체에 테이블 선언시 특정 컬럼을 자동 생성가능하게 하는 기능이 있다면, 해당되는 컬럼에 다 사용할 수 있다. 
 +  * see [[java:jpa:datetime|JPA Date Time]] 
 +  * [[java:hibernate:valuegenerationtype|Hibernate @ValueGenerationType]] 
 +  * 이 방식은 legacy 로 가급적 다른 방식을 권한다. 
 + 
 +<note warning>이 기능은 persist/merge 후에 자동 생성된 값을 다시 자동으로 DB에서 읽어들이기 때문에 DB 부담이 될 수도 있다. PK로 읽기 때문에 매우 높은 수준의 부담은 아니다.</note>
  
 ===== 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> 
 + 
 +[[database:mysql|MySQL]]의 경우 컬럼 선언이 다음과 같이 되어 자동으로 생서/수정시간이 생성되는 경우 사용 가능하다. 
 +<code> 
 +created_at      DATETIME(6)  NOT NULL DEFAULT CURRENT_TIMESTAMP(6), 
 +modified_at     DATETIME(6)  NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
 </code> </code>
  
줄 14: 줄 25:
 ===== 참조 ===== ===== 참조 =====
   * [[https://thorben-janssen.com/hibernate-tips-map-values-generated-database/|Hibernate Tips: Map values that are generated by the database]]   * [[https://thorben-janssen.com/hibernate-tips-map-values-generated-database/|Hibernate Tips: Map values that are generated by the database]]
 +  * [[https://vladmihalcea.com/how-to-map-calculated-properties-with-hibernate-generated-annotation/|How to map calculated properties with Hibernate @Generated annotation - Vlad Mihalcea]]
   * [[http://docs.jboss.org/hibernate/orm/4.3/topical/html/generated/GeneratedValues.html|Generated Values]]   * [[http://docs.jboss.org/hibernate/orm/4.3/topical/html/generated/GeneratedValues.html|Generated Values]]
   * [[http://www.concretepage.com/hibernate/example-generated-hibernate|Hibernate @Generated example]]   * [[http://www.concretepage.com/hibernate/example-generated-hibernate|Hibernate @Generated example]]
  
  
java/hibernate/generated.1633610014.txt.gz · 마지막으로 수정됨: 2021/10/07 21:33 저자 kwon37xi