2011-09-21 3 views

답변

1

current_timestamp() HQL 함수를 사용하여이를 구현할 수 있습니다.

+0

안녕하세요, Andrey, 답장을 보내 주셔서 감사합니다. 이 기능의 사용법을 알려주십시오. 지금은 병합 (엔터티) 메서드를 사용하고 있습니다. – reddy

0

긴 R & D 이후, 마침내 날짜 열의 최대 절전 모드를 사용하여 데이터베이스 SYSDATE (응용 프로그램 서버 날짜 아님)로 삽입/업데이트하기위한 솔루션을 찾았습니다. 그것이 당신을 도와 위의

1에 대한 해결책을 찾아주세요)

property name="systemDate" formula="(select sysdate from dual)" 

2)가 'systemDate'속성에 대한 세터와 게터를 추가 아래처럼 mapping.hbm.xml 파일에 추가 속성을 추가 할 것입니다 희망 POJO의 당신의 DAO 클래스

private Date systemDate; 

public Date getSystemDate() { 
    return this.systemDate; 
} 

public void setSystemDate(Date systemDate) { 
    this.systemDate = systemDate; 
} 

3), 삽입 또는 날짜 열을 업데이트하기 전에에서 systemDate 속성을 가져오고 그 값이 세션을 저장합니다.

POJOclass Obj = new 

// the below line returns the database system date,because we had given the formula for this property in mapping.xml file 

Date systemDate= POJOclassObj.getSystemDate(); 

위의 날짜를 열에 추가하십시오. 데이터베이스 sysdate를 삽입합니다.

0

첫 번째 (수락 된) 응답은 실제로 커버리지 아래에 새로운 Date()를 사용하므로 요구 사항을 실제로 충족하지 못합니다. OP의 솔루션이 작동하지만 조금 번거 롭습니다. 행이 만들어지면 sysdate를 열 기본값으로 지정할 수 있습니다. 업데이트의 경우 대부분의 DBA는 열 값을 업데이트하는 이전 트리거를 정의하는 것으로 보입니다. 방아쇠는 요구 사항의 우회를 방지하기 때문에 유용합니다.

관련 문제