최대 절전 모드를 사용 중입니다. db는 오라클입니다. 내 요구 사항을 삽입/sysdate 함께 엔터티를 업데이트 할 필요가 있지만 새 Date() 아닙니다. 이걸 어떻게 달성 할 수있게 도와 주시겠습니까?최대 절전 모드에서 sysdate를 사용하여 삽입/업데이트하는 방법은 무엇입니까?
감사합니다.
최대 절전 모드를 사용 중입니다. db는 오라클입니다. 내 요구 사항을 삽입/sysdate 함께 엔터티를 업데이트 할 필요가 있지만 새 Date() 아닙니다. 이걸 어떻게 달성 할 수있게 도와 주시겠습니까?최대 절전 모드에서 sysdate를 사용하여 삽입/업데이트하는 방법은 무엇입니까?
감사합니다.
current_timestamp() HQL 함수를 사용하여이를 구현할 수 있습니다.
긴 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를 삽입합니다.
첫 번째 (수락 된) 응답은 실제로 커버리지 아래에 새로운 Date()를 사용하므로 요구 사항을 실제로 충족하지 못합니다. OP의 솔루션이 작동하지만 조금 번거 롭습니다. 행이 만들어지면 sysdate를 열 기본값으로 지정할 수 있습니다. 업데이트의 경우 대부분의 DBA는 열 값을 업데이트하는 이전 트리거를 정의하는 것으로 보입니다. 방아쇠는 요구 사항의 우회를 방지하기 때문에 유용합니다.
안녕하세요, Andrey, 답장을 보내 주셔서 감사합니다. 이 기능의 사용법을 알려주십시오. 지금은 병합 (엔터티) 메서드를 사용하고 있습니다. – reddy