목록Programming/JAVA (9)
알이즈웰
@Audited 어노테이션을 붙히면 entity 이력관리가 자동으로 가능해진다. (오예>.
update할 데이터를 먼저 save해도 update문은 항상 나중에 처리된다. appleRepository.save(appleData); // appleData는 기존 pk를 세팅했고 update시킬 데이터 melonRepository.save(melonData); // pk 세팅 안 해서 insert할 데이터 bananaRepository.save(bananaData); // pk 세팅 안 해서 insert할 데이터 위와 같이 작성 시 순서대로 update - insert - insert 되는 것이 아니라 insert - insert -update된다. 심지어 update는 writer까지 다 끝나고 처리된다. 변경감지는 insert문 커밋 후 나중에 처리되나보다. save하고 커밋(flush)할때 ..
entity class의 Builder가 필요하여 Lombok @Builder 어노테이션을 사용했다. constructor TestEntity cannot be applied to given types @Builder ^ required: no arguments ... 이렇게 컴파일 오류가 나서 구글링해봤더니, @Builder 어노테이션은 파라미터없는 기본생성자와 함께 쓰면 안된다더라? 그래서 @AllArgsConstructor 추가해줌. 참고 https://blog.leocat.kr/notes/2018/09/02/lombok-using-builder-and-noargsconstructor-together [Lombok] @Builder와 @NoArgsConstructor 함께 사용하기 TL;DR: @B..
운영 수정건 배송완료일(당일포함) 9일째되는 날부터 반품/교환 신청 시 불가하도록 validation 체크를 추가하는 것. date 포맷을 이것저것 바꿨던 내용을 기록해본다. // ------------------------------- // // 처음 커밋했던 코드 // ------------------------------- // LocalDate nowDate = LocalDate.now(); nowDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); LocalDate completeDt; try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); completeDt = LocalDa..
IntelliJ에서 딱히 함수 호출 다이어그램을 자동으로 작성할 수 있는 기능이나 플러그인은 찾지 못했다.그냥 내가 일일이 찾아가며 정리해볼 생각이긴한데,검색 중 이게 내가 원하는 것인지 아닌지는 확실히 모르겠으나 일단 저장해본다.나중에 생각날때 한번 봐봐야징 https://plugins.jetbrains.com/plugin/7996-java-method-reference-diagram 찾게 된 이유 : API에서 워낙 함수가 이것저것 쪼개져있어서, 헷갈려서 혼자 정리해보기 위해 찾아봤다.
BE* 프로젝트 지원 시등록되어 있는 엑셀 템플릿의 날짜를 읽어와 데이터베이스의 데이터를 엑셀파일로 삽입하는 기능을 개발했다. 내가 맡은 부분의 특징은 한 시트에 일정 행의 수 이상의 데이터가 삽입된다면, 같은 템플릿을 아래 행에 추가하는 것이었다.(A4용지 분량만큼 프린트하여 보기 좋게끔 하려는 의도였다.) 일정 개수(여기서는 29개) 이상일 경우 Java 단에서 템플릿의 셀들을 복사하여 아래에 붙히는 식으로 했다내가 개발한 이 부분은 셀의 수는 29개로 고정되어있어 하드코딩했다.추후에 개수가 바뀐다면 입력시켜 계산하도록 구현하면 될 것이다. poi 사용 엑셀 계산식 사용하기htt..
달의 마지막 날 찾기 입력된 yyyyMMddHHmm형의 날짜를 가져와서, 현재 날짜(배치가 동작하는 날짜)와 비교하여,현재 날짜가 입력된 날짜보다 이르다면 배치 처리가 동작하지 않는 코드이다. 부가설명 : 엑셀파일에 데이터를 뽑을 시작일자와 종료일자를 입력하면 엑셀파일로부터 그 날짜를 읽어와서 해당되는 기간 안의 데이터만 뽑아 엑셀파일을 생성하는 기능이다. 배치는 매일 작동하는건데, 종료일자가 도래하지않았다면 엑셀파일을 생성하지 않고 skip한다. 문제 : 1번처럼 하면, 입력(endDate)이 예시와 같이 해당 달의 마지막 날짜보다 초과된 일자로 입력될 경우 초과된 일자 수 만큼 날짜가 더해져서 변환된다는 것. ex. 6월 31일로 입력되면, 7월 1일로 변환됨/2월 30일로 입력되면(윤달 아닐경우) ..
- 객체 객체는 객체 지향 기술의 핵심이다. 객체 안의 변수를 필드(field)라 부르고, 객체 안의 함수를 메소드(method)라 부른다. 하나의 객체는 필드와 메소들 이루어진 소프트웨어의 묶음이다. - 클래스 클래스란 특정한 기능을 가진 객체를 생성하게 해주는 설계도라고 할 수 있다. 클래스로 부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 클래스는 객체에 포함될 변수와 메소드를 정의해야 한다. 자바에서 객체를 생성하려면 new 연산자를 사용해야 한다. 출처: http://luckyyowu.tistory.com/190 [요우의 내맘대로 블로그] - 인스턴스 객체를 생성하여 JVM (Java Virtual Machine 자바 가상 머신)이 관리하는 메모리에 적재된 것(코드화된 ..
인터페이스에 상수 선언하여 쓰는 것은 비추입니당Anti-Pattern 이래염 외부에 노출될 위험이 있고, 추후에 사용하지 않다 하더라도 가지고 있어야해서 비생산적이다. [참고]친절한 설명http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecJava&wr_id=418 https://dyway.wordpress.com/2012/09/04/constants%EB%8A%94-%EC%96%B4%EB%94%94%EC%97%90-class-interface-constant-interface-%EB%AC%B8%EC%A0%9C/