최대 절전 모드 current_timestamp()
을 사용하여 데이터베이스 시간을 기준으로 타임 스탬프를 작성하고 싶습니다. 데이터베이스를 사용하는 서비스의 시스템 시간이 아닌 데이터베이스 시간을 사용하고 싶습니다. 2 자물쇠 및 의 두 쿼리에 대해 데이터베이스 시간을 사용하고 있습니다.의 잠금을 해제하십시오.JPA 또는 원시 쿼리를 사용하여 시간 계산
0 :
잠금 쿼리
UPDATE MyEntity e SET e.lock = current_timestamp() WHERE e.id = :id
잠금 해제 쿼리
UPDATE MyEntity e SET e.lock = (current_timestamp() - "30 seconds") WHERE e.id = :id
내 최후의 수단은 다음과 PostgreSQL을위한 기본 쿼리를 사용하는 것입니다
시간을 더하거나 뺄 수있는 방법에 대한 설명서는 찾을 수 없습니다. 쿼리의 잠금을 해제하려면 어떻게해야합니까?
Afaik 아직 지원이 없습니다 ... jpa 2.1에서는 특정 db 함수를 호출하기 위해 FUNC ('functionName', args)가 도입되었지만 여전히 db 종속적 인 것 같습니다 – Zeromus
참고 : Utc를 사용하고 두통을 많이 줄이기 위해 서비스와 db를 모두 설정해야합니다. – Zeromus
고마워요. 우리는 어디에서나 UTC를 사용하고 있지만 여전히 다른 인스턴스가 다른 시계에 있다고 걱정합니다. – span