230524 TIL #93 Spring Q&A - 3

김춘복·2023년 5월 24일
0

TIL : Today I Learned

목록 보기
93/571

230524 Today I Learned

오늘은 팀스파르타 1차 면접을 보고, 밤에 면접 연습을 진행했다.


Spring 면접대비 - 3

10. JPA가 언제 필요한지 말해주세요

JPA는 자바의 ORM입니다.
객체형 프로그래밍과 관계형DB는 패러다임 다르기 때문에 매핑 작업이 필요합니다. JPA는 매핑을 자동화 해줍니다. 개발자가 직접 SQL 쿼리를 작성하지 않아도 객체를 조작해 데이터베이스와 상호작용할 수 있게 해줍니다. 그리고 JPA는 특정 DB에 종속되지 않고 다양한 DB를 지원하므로 DB 변경에 유연하게 대응할 수 있습니다.

11. JPA의 더티 체킹에 대해 설명해주세요

더티체킹은 상태 변경 검사입니다. JPA가 트랜잭션이 끝나는 시점에 최초 조회 상태로부터 변화가 있는 모든 엔티티 객체를 DB에 자동으로 업데이트 쿼리를 실행합니다. 이때 변화되는 엔티티는 영속성 컨텍스트가 관리하는 엔티티만 적용 됩니다. 더티체킹을 통해 개발자는 별도의 업데이트 코드를 작성하지 않고도 엔티티의 변경을 관리할 수 있습니다.


12. Annotation이 무엇인지 예시를 들어 설명해주세요

어노테이션은 코드 사이에 주석처럼 쓰이며 특별한 의미를 가지거나 기능을 수행합니다. 자바에서는 @로 표시됩니다. @Override로 이 메서드가 상위 클래스나 인터페이스를 재정의 하는 메서드라고 표시하고, @Entity로 JPA에서 DB의 테이블과 매핑되는 엔티티클래스임을 나타내고, @Autowired로 스프링 프레임워크에서 의존성 주입을 수행할 때 사용됩니다.

profile
Backend Dev / Data Engineer

0개의 댓글