사용자 도구

사이트 도구


java:hibernate:generated

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
java:hibernate:generated [2021/10/07 21:41]
kwon37xi
java:hibernate:generated [2021/10/07 21:58]
kwon37xi
줄 3: 줄 3:
   * 주로 ''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>
  
 ===== 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>
  
java/hibernate/generated.txt · 마지막으로 수정됨: 2021/10/07 22:00 저자 kwon37xi