본문 바로가기

프로그래밍94

[JPA] Spring Data JPA를 이용한 JPA Auditing 날짜 자동 생성, 저장(Auditing in JPA ). 1. 아래와 같은 코드를 클래스에 선언해서 클래스를 작성 @EntityListeners(AuditingEntityListener.class) @Getter @MappedSuperclass 2. 날짜 같은 경우는 아래와 같은 코드를 작성하면 완료 된다. @CreateBy 같은경우는 더 설정해주어야 할 것이 남음. @CreatedDate @Column(updatable = false) private LocalDateTime createDate; @CreatedBy @Column(updatable = false) private String CreateUser; @LastModifiedDate private LocalDateTime lastModDate; @LastModifiedBy private String .. 2022. 7. 25.
[Spring Batch] Duplicate entry '0' for key 'PRIMARY' 오류 h2 db에서 테스트할 때는 잘만 실행되던 배치잡이 mysql로 db를 변경하여 실행 했더니 처음에만 정상적으로 실행이 되고, 2번째 배치잡 작업부터는 제목과 같은 오류가 발생했다. 알고보니 배치잡 테이블을 생성할때 create문을 통해 메타 테이블만 만들어지고 아래와 같은 기본적으로 들어가야 하는 데이터들 즉 seq값이 입력이 안되었던 것이다. INSERT INTO BATCH_STEP_EXECUTION_SEQ values(0, '0'); INSERT INTO BATCH_JOB_EXECUTION_SEQ values(0, '0'); INSERT INTO BATCH_JOB_SEQ values(0, '0'); 이렇게 insert 문을 수동으로 실행해주니 그 이후로 부터는 batchjob이 아무런 이상 없이 정.. 2022. 7. 22.
[Spring boot]String을 LocalDateTime 으로 변환하는 법 예제 데이터 2018-07-04T11:21:35+09:00 api에서 String의 형식으로 위와 같은 데이터를 받아와 LocalDateTime 타입의 변수에 저장해야 할 일이 생겼다. DatetimeFormatter가 제공하는 여러가지 formatter 타입이 있다. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'+09:00'"); ofPattern안에 문자열의 형태로 넣어주면 저게 받는 데이터타입의 포맷이 된다. 문자열의 안에 알파벳을 통해 여러가지를 정의 할 수 있다. G 연대 (BC, AD) y/Y 년도 M/L 월 (1~12 또는 1월~12월) Q/q 분기(quarter) w 년의 몇 번째 주 (1~.. 2022. 7. 22.
[wsdl to java with intellij] intellij에서 wsdl을 java파일로 변경하는 법 (wsdl url, 파일 둘다 가능)(Could not find or load main class com.sun.tools.internal.ws.WsImport ClassNotFoundException: com.sun.tools.internal.ws.WsImport) 프로젝트에서 wsdl을 java파일로 변경하는 업무를 맡게 되었는데, 무수한 삽질을 하고, 많은 레퍼런스들을 참조하였지만, 오류가 발생했었다. 그리고 블로그 형식으로 쉽게 알려주는 레퍼런스는 없는거 같아 이렇게 기록을 남겨본다. 일단 wsdl을 java파일로 intellij를 통해 변경하려면 ultimate버전을 사용해야된다. 무료 30일 평가판으로 사용할 수 있으니 결제가 부담스럽다면 이것을 추천한다. 예제에 사용되는 wsdl은 영화진흥위원회가 제공해주는 openAPI를 이용할 것이다. soap방식으로 제공해주는 api가 굉장히 드물지만 영진위는 제공해준다. 예제로 테스트해보기 용도로는 이만한게 없다 너무 감사할 따름이다. 그럼 본격적으로 시작해보자. 영진위 홈페이지의 openAPI 홈페이지를 접속해보.. 2022. 7. 1.
[wsdl] wsdl을 java 파일로 변경하는 중 오류발생(wsdl to java) intellij를 이용해서 wsdl을 java파일로 import하는 과정에서 오류가 발생했다. 해당오류는 아래와 같은 오류 였다. 오류 오류: 기본 클래스 com.sun.tools.internal.ws.WsImport을(를) 찾거나 로드할 수 없습니다. 원인: java.lang.ClassNotFoundException: com.sun.tools.internal.ws.WsImport com.sun.tools라는 라이브러리를 가져다 쓰려고 하는데 그것을 찾지 못한다는 오류 였다. 해결과정 프로젝트를 진행하면서 java 17버전을 사용하기로 하였기 때문에 jdk 17버전으로 진행하였다. 그런데 상기 표시된 오류로 인해 제대로 wsdl이 java파일로 변경되지 않아 문제가 발생하였다. 알아보니 com.sun.t.. 2022. 7. 1.
[build error]Execution failed for task ':ExampleApplication.main()'.> Process 'command 'C:/Program Files/Java/jdk-17.0.3.1/bin/java.exe'' finished with non-zero exit value 1 intellij 오류 setting -> build Tools -> gradle -> build and run using 과 run test using을 intellij IDEA로 변경 2022. 6. 29.
[SpringBatch] 스프링 배치 도메인 간단 정리 Job 스프링 배치에서 실행되는 작업. / 하나의 배치 작업 그 자체를 의미한다. job과 jobInstance는 1:N 관계 JobInstance job은 실행 될때 마다 하나의 잡 인스턴스를 생성함. 인스턴스는 job(jobname)과 jobkey (jobparameter의 해시값)를 통해 식별됨. jobInstance와 jobExecution과의 관계는 1:N이다. Jobparameter 잡 인스턴스를 식별하기 위해 사용. jobLauncher가 job을 실행할때 job과 jobparameter를 보내주게됨. 이때 보내진 jobparameter는 Map형식으로 이 jobparameter를 활용하여 jobInstance를 식별하게 됨. jobparameter의 타입 종류는 4가지 : String, D.. 2022. 6. 26.
[AWS] 아마존 웹 서비스 시작하기 1편 가입하기 전에 알아두어야 할 것들 1. AWS를 사용하기 위해서는 회원가입을 해야한다. Master 카드나 Visa 카드가 필요한데, 체크카드일 경우에 1달러 이상의 금액이 남아 있어야 등록이 가능합니다. 2. 프리티어로 등록한다면 12개월동안 제한된 범위 내에서 무료로 사용가능합니다. 가입 시작 가입을 완료하고 로그인을 하면 이와 같은 UI를 보게 될 것이다. (업데이트에 따라 UI는 변화 할 수 있음.) 현재 필자는 이미 RDS인스턴스와 EC2 인스턴스를 만들었지만, 처음 시작할 때에는 아무것도 없을 것이다. 위의 그림처럼 지역을 서울로 바꿔 주세요. 먼저 EC2인스턴스를 만들어봅시다. 여기서 알아야할 점 EC2는 IAAS 서비스이다. IAAS가 무엇인지 궁금하다면 아래 링크를 통해 알아보도록 합시다.. 2022. 5. 18.
Spring boot jpa 에서 mysql과 연동하기 1.build.gradle 디펜던시에 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'mysql:mysql-connector-java' 를 추가. 2. application.properties 파일에 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/datingjpa?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul spring.datasource.username=root spring.datasource... 2022. 2. 15.