-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Custom Repository에 @Repository와 @Transactional
20.06.06 00:30 작성 조회수 148
0
안녕하세요.
항상 강의 잘듣고 있습니다.
다름이 아니라 Custom Repository의 구현체에서 @Repository와 @Transactional이 꼭 필요한지 궁금해서 아래 코드에서 @Repository와 @Transactional을 제외한체 테스트 코스를 실행시 정상적으로 통과되었습니다
그래서 현재 궁금한게 Custom Repository에서 @Repository와 @Transactional은 필요없는 것인지.
그리고 만약 필요하다면 어떤 이유로 필요한 것인지 궁금합니다.
감사합니다.
@Repository
@Transactional
public class PostCustomRepositoryDefault implements PostCustomRepository<Post> {
@Autowired
EntityManager entityManager;
@Override
public List<Post> findByPost() {
System.out.println("custom findMyPost");
return entityManager.createQuery("SELECT p FROM Post AS p",Post.class).getResultList();
}
@Override
public void delete(Post entity) {
System.out.println("custom delete");
entityManager.remove(entity);
}
}
답변을 작성해보세요.
0
백기선
지식공유자2020.06.06
무슨 테스트를 작성해서 성공하셨는다는건지 모르겠으나 의도한 테스트 (빈 등록 여부, 트랜잭션 동작 여부)가 성공적으로 실행됐다면 생략하셔도 좋습니다. 인터페이스에 선언한 애노테이션도 적용이 되기 때문에 구현체에도 동일한 애노테이션을 붙여줄 필요는 없습니다.
답변 1