• Windows에 Gradle 설치하기

    Windwos에 Gradle 설치 하기 포스트는 2020년 4월 5일 기준으로 업데이트 되었습니다. 요구사항 Gradle은 Java JDK 8 이상 설치되어 있다면 주요 OS에서 대부분 설치가 가능합니다. 자바 버전은 아래 명령어로 확인할 수 있습니다. 자바버전 확인 java -version Gradle은 Groovy Library를 포함하여 배포되기 때문에 특별히 따로 설치할 필요는 없습니다. 기존에 설치되어 있는 Groovy가...


  • enum으로 JPA 상속관계 구분 컬럼 지정

    클래스의 상속관계를 JPA로 표현하기위해서 @DiscriminatorColumn 애노테이션으로 부모 클래스의 구분 컬럼을 지정하고 @DiscriminatorValue 애노테이션으로 자식 클래스가 사용할 구분자 값을 지정한다. @DiscriminatorValue는 String 타입을 Value 로 지정하게 되어있다. 일반적으로 구분자 또는 타입 같은 값은, 값 리스트들을 체계적으로 관리하기위해 enum 으로 선언해 사용하고는 하는데 이것을 JPA에 바로 적용할 수가 없다. 이 포스트에서는 enum을...


  • The server time zone value 'KST' is unrecognized 예외 발생시

    IntelliJ에서 로컬에서 동작하고 있는 mysql 에 직접 접속하려고 하다보니 The server time zone value 'KST' is unrecognized or represents more than one time zone. 오류가 발생하였다. 개발할 때에는 Datasource의 url에 ?serverTimeZone=Asia/Seoul 를 추가하면 대부분 해결이 된다. IntelliJ에서는 DB 접속정보를 넣는 화면의 URL에 직접 넣으면 해결되지 않는다. Advanced 탭에 들어가서 serverTimezone에...


  • LocalContainerEntityManagerFactoryBean 에 null 를 리턴할 때

    LocalContainerEntityManagerFactoryBean 을 이용해서 직접 Bean 을 등록할 때 LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean(); return emf.getObject(); 를 하면 null 이 리턴된다. 이유는 LocalContainerEntityManagerFactoryBean 는 AbstractEntityManagerFactoryBean 을 상속하여 구현하는데 이 클래스의 메소드 afterPropertiesSet() 가 모든 속성값이 세팅이 다 됐음을 알리는 역할을 한다. XML 로 Bean 설정을 하면 BeanFactory 가 이 메소드를 호출하지만...


  • 자주쓰는 GIT 명령어 정리

    가져오기 리모트에 있는 브랜치를 Local로 가져오면서 브랜치 만들기 git checkout -b <생성할Local브랜치이름> <원격브랜치이름> 다른 브랜치에서 일부 파일만 가져오기 git checkout --patch <가져올브랜치이름> <가져올 파일이름> y-stage n-no stage a-stage all hunk 합치기 merge 시작 git mergetool Rebase 계속 git rebase --continue 선택한 커밋만 합치기. -n 옵션 stage 상태로. 없으면 commit됨 git...