2009-08-26 6 views
4

레코드가 처음 삽입 될 때 테이블에 TIMESTAMP 컬럼이 널로 설정되었습니다. 값을 현재 시간으로 업데이트하고 싶습니다. 생성 된 엔티티에는 다음과 같이 필드에 대한 메소드가 설정되어 있습니다.JPA는 지속될 때 TIMESTAMP 필드를 CURRENT_TIMESTAMP로 설정합니다.

setCloseDate(Timestamp closeDate) 

그러나 Java 코드에서 타임 스탬프를 생성하거나 지정하고 싶지 않습니다. 엔터티를 지속 할 때 데이터베이스 수준에서 현재 시간을 사용하도록 지정하기 위해 특성에 주석을 달 수있는 방법이 있습니까?

그렇지 않은 경우이 같은 업데이트를 수행하기위한 좋은 전략은 무엇입니까? 내가 실행하려는 쿼리는 다음과 같이이다 내부적으로

:

update CASE_FILE set CLOSE_DATE=CURRENT_TIMESTAMP where ID=1 

난 그냥 JPA를 시작하는거야 ... 그래서 여기에 매우 분명 뭔가를 누락 될 수 있습니다. 감사! 현재 타임 스탬프 열에서 다음 코드를 당신의 JPA 엔티티 클래스 사용

+0

이 http://stackoverflow.com/questions/221611/creation-timestamp-and-last-update-timestamp-과 유사 with-hibernate-and-mysql을 사용한다. – Rick

+0

그 질문은 그 질문과 비슷하지만 그 질문은 항상 갱신되는 마지막 수정 된 시간 소인에 관한 것입니다. 이것은 별도의 날짜 필드를 저장하는 것에 관한 것이지만, 그것이 데이터베이스 서버의 현재 시간 소인이되기를 원합니다. 응용 프로그램 서버. –

답변

5

@Column(name = "timestamp", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") 
public Timestamp timestamp; 
관련 문제