먼저 현재 DB에 대한 TimeZone을 확인하기 위한 명령어는 다음과 같습니다.
SHOW timezone;
타임존이 한국이 아닐 경우 아래의 명령을 통해 한국으로 변경합니다. !DB_NAME!에 데이터베이스 이름이 들어갑니다.
ALTER DATABASE !DB_NAME! SET timezone = 'Asia/Seoul';
타임존을 변경한 뒤에는 PostgreSQL을 반드시 재시작해야합니다.

공간정보시스템 / 3차원 시각화 / 딥러닝 기반 기술 연구소 @지오서비스(GEOSERVICE)
먼저 현재 DB에 대한 TimeZone을 확인하기 위한 명령어는 다음과 같습니다.
SHOW timezone;
타임존이 한국이 아닐 경우 아래의 명령을 통해 한국으로 변경합니다. !DB_NAME!에 데이터베이스 이름이 들어갑니다.
ALTER DATABASE !DB_NAME! SET timezone = 'Asia/Seoul';
타임존을 변경한 뒤에는 PostgreSQL을 반드시 재시작해야합니다.
이미 완성되어 컴파일까지 되어 배포된 프로그램에 대한 기능 확장을 위해서 Reflection API를 사용할 수 있습니다. 이 글은 이 목적을 위해 일단 필요한 코드를 정리한 글 입니다.
Java에서 어떤 타입에 대한 이름을 문자열로만 알고 있을 때, 그 타입의 인스턴스를 생성하기 위한 코드는 다음과 같습니다.
try {
Class<?> clazz = Class.forName("tstConstructor.service.FirstService");
//Class<?> clazz = tstConstructor.service.FirstService.class;
Constructor<?> constructor = clazz.getConstructor(String.class);
Serviceable instance = (Serviceable)constructor.newInstance("Jack");
instance.run();
} catch (Exception e) {
e.printStackTrace();
}
위의 코드에서 FirstService 클래스의 코드는 다음과 같습니다.
package tstConstructor.service;
public class FirstService implements Serviceable {
private String _name;
public FirstService(String name) {
this._name = name;
}
@Override
public void run() {
System.out.println("Hello, my name is " + this._name);
}
}
또한 Serviceable 인터페이스의 코드는 다음과 같습니다.
package tstConstructor.service;
public interface Serviceable {
void run();
}
또한 Java에서 어떤 타입에 대한 이름을 문자열로만 알고 있을 때, 그 타입의 정적 필드값을 얻기 위한 코드는 다음과 같습니다.
try {
Class<?> clazz = Class.forName("tstConstructor.service.Gizmo");
//Field field = Gizmo.class.getField("NAME");
Field field = clazz.getField("NAME");
Class<?> fieldType = field.getType();
if(fieldType == String.class){
System.out.println(field.get(null).toString());
} else if(fieldType == double.class){
System.out.println(field.getDouble(null));
}
} catch (Exception e) {
e.printStackTrace();
}
Gizmo 클래스의 코드는 다음과 같습니다.
package tstConstructor.service;
public class Gizmo {
public static String NAME = "GIZMO";
}