2013-04-29 1 views

답변

0

표준 시간대 변환은 기본 JDBC 드라이버 (최대 절전 모드가 아닌)가 수행합니다. 이 방법으로 서버 시간대가 응용 프로그램에서 숨겨집니다. 내가 아는 한 서버 시간대를 읽는 "공식적인"방법은 없습니다. Oracle 데이터베이스에

당신은 당신이

SELECT @@global.time_zone, @@session.time_zone; 

을하지만 당신이 볼 수있는이 모든 데이터베이스 작동하지 않습니다 MySQL을 들어

SELECT DBTIMEZONE FROM dual; 

와 서버 시간대를 읽을 수 있습니다.

(hibernate.cfg.xml의) JDBC 연결 문자열에 데이터베이스 시간대를 구성 할 수 있지만 더 많은 데이터베이스가 필요합니다.

타 솔루션은 -Dserver-timezone=...와 응용 프로그램에서 응용 프로그램을 시작할 때 당신이 모든 데이터베이스 작동이 방법으로

String tz = System.getProperty("server-timezone"); 

하여 읽을 수 있지만에 지정한 시스템 속성을 정의하는 것입니다 시작 스크립트에서 지정해야합니다.

관련 문제