JPA

·JPA
개인 프로젝트를 진행하다가 문득 궁금한 점이 생겼다. @Entitypublic class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private String name; @Embedded private Address address;} 대충 이런 엔티티가 있다고 가정할 때 우리는 멤버의 등록이나 업데이트를 위해 각각 DTO를 만들어준다.근데 이러한 경우에 임베디드가 걸려있는 address 를 어떻게 해주어야 하는지 고민이 되었다.  내가 생각해낸 방법은 2가지이다.  1. 전부 풀어서 생성public class addMemberForm { public lon..
·JPA
@Transactional - 트랜잭션 관리를 동작시키는 애노테이션. 데이터가 변경되는 작업을 할 때에는 무조건 사용하여야 한다. readOnly = true 로 설정하게 된다면 해당 트랜잭션 안에서 데이터 변경이 불가능하다. readOnly=true : 데이터의 변경이 없는 읽기 전용 메서드에 사용한다.데이터가 변경되지 않는데 왜 @Transactional 을 사용해야 하는지 이해가 되지 않아서 찾아보았다.어차피 조회만 하는 메서드에서는 그냥 트랜잭션 없이 쓰면 안되나? @Transactional(readOnly=true) 의 장점이 있다. 성능 향상readOnly=true 를 사용하면 영속성 컨텍스트를 플러시 하지 않으므로 성능이 향상된다. 또한 데이터베이스 드라이버가 지원하면 DB에서 성능이 향상된..
김관현
'JPA' 카테고리의 글 목록