CascadeType의 종류에는 다음과 같은 것들이 있다.CascadeType.RESIST – 엔티티를 생성하고, 연관 엔티티를 추가하였을 때 persist() 를 수행하면 연관 엔티티도 함께 persist()가 수행된다. 만약 연관 엔티티가 DB에 등록된 키값을 가지고 있다면 detached entity passed to persist Exception이 발생한다.CascadeType.MERGE – 트랜잭션이 종료되고 detach 상태에서 연관 엔티티를 추가하거나 변경된 이후에 부모 엔티티가 merge()를 수행하게 되면 변경사항이 적용된다.(연관 엔티티의 추가 및 수정 모두 반영됨)CascadeType.REMOVE – 삭제 시 연관된 엔티티도 같이 삭제됨CascadeType.DETACH – 부모 엔티..
한글로 된 파일명을 다운로드 하는 경우, 파일이 깨졌다. 아래의 코드로 해결. String zipfileNm = new String("한글".getBytes("UTF-8"), "ISO-8859-1"); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.add("Content-Type", "application/octet-stream"); responseHeaders.add("Content-Disposition", "attachment; filename=\"" + zipfileNm + "\""); return new HttpEntity(zipFile, responseHeaders); 아래의 글을 참고 하였다. 참고: https://okky...
Jpa + MyBatis를 세팅할때 Transaction처리는 어떻게 할까? 해답은 아래의 링크에서 찾았다. https://stackoverflow.com/questions/2673678/what-transaction-manager-should-i-use-for-jbdc-template-when-using-jpa 기본적으로 JpaTransactionManage 가 2개의 Transaction을 모두 처리할 수 있다.
출처: http://iloveulhj.github.io/posts/java/java-stream-api.html 함수형 인터페이스파라미터 타입반환 타입설명Supplier없음TT 타입 값을 공급한다.ConsumerTvoidT 타입 값을 소비한다.BiConsumerT, UvoidT와 U 타입 값을 소비한다.PredicateTbooleanboolean값을 반환하는 함수다.ToIntFunctionTintT 타입을 인자로 받고 각각 int 값을 반환하는 함수다.ToLongFunctionTlongT 타입을 인자로 받고 각각 long 값을 반환하는 함수다.ToDoubleFunctionTdoubleT 타입을 인자로 받고 각각 double 값을 반환하는 함수다.IntFunctionintRint를 인자로 받고 R 타입을 ..
Mybatis를 언능 JPA로 바꿔야겠다.... 너무나도 많은 삽질을 하여, 기록을 남긴다. 우선, list를 이용하여 foreach문을 사용하여 한 쿼리에 데이터를 update, insert 하려고 하였다. 그러면서 생긴 삽질을 기록한다. 우선 코드는 아래와 같다. 우선 insert문을 다중으로 입력하려면 아래와 같은 형태가 된다. insert into TABLE (Columns) VALUES (VALUE1), (VALUE2).... 어느 블로그인진 말하지 않으나 잘못된 방식으로 설명을 하여 계속 삽질했다... 다음 foreach문을 동작하는 도중. #{variable}과 같은 형태로 처음에는 구성하였다.. #과 $의 차이점을 제대로 몰라 계속 삽질을 했다. 동적인 쿼리 부분은 $을 사용하자! 참고로 ..
대략 3기가정도가 되는 압축파일을 만드는 중. 계속된 메모리 부족현상으로 에러가 발생하였다. 해당 부분을 확인하여 FileSystem으로 처리를하면된다고해서 처리했는데 어떤 부분이 문제였을까? 차이점은 아래의 화면에서 확인이 가능하다. 이전 코드같은 경우는 garbage collection에서 메모리를 flush처리가 안된 것 같은데... 정확한 이유는 잘모르겠다... 아무튼 Files.copy API를 사용하더라도 환경 설정값에 따라 처리하는 방식이 다른데, 다른 부분에 대한 설명은 아래의 화면을 보면 알 수 있다. userTempFile을 사용하냐 안하냐에 따라 ByteArrayOutputStream을 사용하고 안하고의 차이가 있었다. 해당값을 true로 설정하니 더이상 에러(memory)는 발생하지..
출처: https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.htmlExamplesSpring AOP users are likely to use the execution pointcut designator the most often. The format of an execution expression is:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern) throws-pattern?)All parts except the returning type pattern (ret-type-pattern in..
출처: http://javacan.tistory.com/entry/134 자바 5부터 새롭게 추가된 Concurrency API 중에서 Executor, 리턴이 가능한 Callable 및 Future에 대해서 살펴본다. Executor를 이용한 쓰레드 관리 웹 서버와 같이 동시에 다수의 요청을 처리해야 하는 어플리케이션을 개발해야 할 경우 코드는 다음과 같은 형태를 띌 것이다. while(true) { request = acceptRequest(); Runnable requestHandler = new RequestHandler(request); new Thread(requestHandler).start();} 위 코드가 논리적으로 문제점은 없지만, 다음과 같은 성능상의 문제점을 안고 있다. 소규모의 많..
출처: http://sfixer.tistory.com/entry/%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%98%81%EC%97%ADcode-data-stack-heap 1) code 영역- 코드 자체를 구성하는 메모리 영역으로 Hex파일이나 BIN파일 메모리다.- 프로그램 명령이 위치하는 곳으로 기계어로 제어되는 메모리 영역이다. 2) data 영역- 전역변수(global), 정적변수(static), 배열(array), 구조체(structure) 등이 저장된다. 가) 초기화 된 데이터는 data 영역에 저장되고, 나) 초기화 되지 않은 데이터는 BSS (Block Stated Symbol) 영역에 저장된다.- 프로그램이 실행 될 때 생성되고 프로그램이 종료 되면 시스템에 반환 된다.- 함..
출처: http://javacan.tistory.com/entry/1 동적인 클래스 로딩 자바는 동적으로 클래스를 읽어온다. 즉, 런타임에 모든 코드가 JVM에 링크된다. 모든 클래스는 그 클래스가 참조되는 순간에 동적으로 JVM에 링크되며, 메모리에 로딩된다. 자바의 런타임 라이브러리([JDK 설치 디렉토리]/jre/lib/rt.jar) 역시 예외가 아니다. 이러한 동적인 클래스 로딩은 자바의 클래스로더 시스템을 통해서 이루어지며, 자바가 기본적으로 제공하는 클래스로더는 java.lang.ClassLoader를 통해서 표현된다. JVM이 시작되면, 부트스트랩(bootstrap) 클래스로더를 생성하고, 그 다음에 가장 첫번째 클래스인 Object를 시스템에 읽어온다. 런타임에 동적으로 클래스를 로딩하다는..
- 머신러닝
- executor
- mybatis
- 점프투파이썬
- memory
- web
- serverless
- NIO
- spark
- 파이썬
- BigData
- javascript
- 모두의딥러닝
- 중앙정보처리학원
- AWS
- AI
- Java
- python
- Maven
- tensorflow
- spring
- Docker
- Configuration
- API
- TDD
- ML
- mysql
- Gradle
- Error
- 텐서플로우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |