기본 콘텐츠로 건너뛰기

11월, 2015의 게시물 표시

[spring batch] no-rollback-exception-classes

writer를 실행하다가 에러가 나면 해당 처리를 skip 할려고 했다. 그래서 skippable-exception-classes 에 해당 exception 정보를 입력 해주었는데 해당 exception이 발생하면 processor, writer를 재 실행한다. 이를 막기 위해(그냥 skip) no-rollback-exception-classes 에 다시 해당 exception 정보를 입력 하였지만 제대로 동작하지 않는다. spring-batch - no-rollback-exception-classes 문서를 보니 보이는 아래와 같이 적혀있다. it might not be possible to honour the hint during a write operation, so consider movingcode that throws these exceptions to a processor or validator writer 중에서는 해당 정보를 제대로 제공 못할수도 있으니, 다른 곳에서 처리하라는... 결국에는 exception을 잡아서 처리해야 할 것 같다.

[spring transaction] 정리

@Transactional public a() {    try{         b();    } catch() {         c();   }   d(); } 스프링 트랜잭션 AOP는 호출 메소드 밖으로 던져야 롤백이 동작. 스프링 트랜잭션은 default 옵션으로 unchecked Exception인 RuntimeException, Error에 대해서만 롤백 처리를 수행, 내부적으로 Exception을 catch할 경우 롤백하지 않음

[JPA] basic

JPA : Java Persistence API, ORM 표준(객체관계 매핑) 객체와 관계형 데이터 베이스 사이에서 매핑 EJB -> 하이버네이트 -> JPA JPA는 인터페이스 모음, 하이버네이트는 JPA 구현체로써 ORM 기술 중 하나 JPA 기반 프로젝트 - Spring data JPA : findByUserId - QueryDSL : dynamic query