본문 바로가기

전체 카테고리361

[JPA] 연관관계 매핑 기초 1. 테이블 중심 매핑 연관 관계 매핑 시나리오 하나를 살펴 보겠습니다. 회원과 팀 entity 존재 회원은 하나의 팀에만 소속 회원과 팀은 다대일 관계 다음은 객체의 테일블에 맞추어 모델링한 예시입니다. @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; @Column(name = "TEAM_ID") private Long teamId; … } @Entity public class Team { @Id @GeneratedValue private Long id; private String name; … } //팀 저장 Team team = new Team.. 2020. 4. 14.
[Clean Code] 주석 작성 방법 나쁜 코드에 주석을 달지 마라. 새로 짜라 - 브라이언 W. 커니핸. P.J. 플라우거 - 잘 달린 주석은 유용합니다. 하지만 근거 없는 주석은 코드를 이해하기 어렵게 만듭니다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미칩니다. 코드로 의도를 표현하지 못해서 주석을 사용하는 것은 실패를 의미합니다. 주석은 오래될수록 코드에서 멀어집니다. 프로그래머들이 주석을 유지하면서 유지보수하기란 현실적으로 불가능합니다. 코드를 깔끔하게 정리하고 표현력을 강화하는 방향으로, 그래서 주석이 필요없는 방향으로 에너지를 쏟는 것이 낫습니다. 함수나 변수로 표현할 수 있다면 주석을 달지 말아야합니다. 좋은 주석과 나쁜 주석을 구분하는 방법에 대해서 알아 보겠습니다. 1. 좋은 주석 [법적인 주석] 때로는 .. 2020. 4. 14.
[JPA] 기본 키 매핑 1. 기본 키 매핑 어노테이션 @Id @GeneratedValue @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; 기본 키 매핑 방법 직접 할당 : @Id만 사용 자동 생성(@GeneratedValue) IDENTITY : 데이터베이스에 위임, MySQL SEQUENCE : 데이터베이스 시퀀스 오브젝트 사용. @SequenceGenerator 필요 TABLE : 키 생성용 테이블 사용. 모든 DB에서 사용 가능. @TableGenerator 필요 AUTO : 방언에 따라 자동 지정. 기본값 2. IDENTITY 전략 - 특징 기본 키 생성을 데이터베이스에 위임 주로 MySQL, PostgreSQL, SQL Server, DB2에서.. 2020. 4. 10.
[JPA] 객체와 테이블 매핑 1. 엔티티 매핑 소개 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn 2. @Entity @Entity가 붙은 클래스는 JPA가 관리하며 엔티티라고합니다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity를 필수적으로 붙여줍니다. 기본 생성자 필수 final 클래스, enum, interface, inner 클래스 사용 X 저장할 필드에 final 사용 X @Entity 속성 정리 name : jpa에서 사용할 엔티티 이름을 지정합니다. 기본값: 클래스 이름을 그대로 사용합니다. (ex) Member 같은 클래스 이름이 없으면 가급적 기본값을 사용합니다. @Table 엔티티.. 2020. 4. 10.
[JPA] 영속성 콘텍스트 1. 영속성 컨텍스트 영속성 컨텍스트 JPA가 내부에서 실제로 동작하는 방식 이 영속성 컨텍스트는 JPA를 하면서 계속 나오는 개념입니다. 확실하게 알고있어야합니다. 우선 JPA의 동작 방식을 알아보겠습니다. EntityManagerFactory는 어플리케이션 시작시 한개만 만들어집니다. JPA는 사용자로부터 요청이 오면 EntityManagerFactory로 부터 EntityManager를 생성합니다. EntityManager는 내부적으로 데이터베이스 커넥션을 사용해서 DB를 사용합니다. 사용이 완료되면 연결을 끊어줘야합니다. 영속성 컨텍스트란? JPA를 이해하는 가장 중요한 용어 "엔티티를 영구 저장하는 환경" 이라는 뜻 눈에 보이지 않음. 영속성 컨텍스트는 논리적인 개념 EntityMager를 통해.. 2020. 4. 10.
부의 추월차선 리뷰 오늘은 부의 추월차선 이라는 책에 대해서 간단하게 리뷰를 작성해보려고합니다. 제가 가장 좋아하는 책중 하나로 저자는 엠제이 드마코 입니다. 학생에서 직장인이 되고 나서 이제는 자산을 모아야겠다는 생각을 하였습니다. 그리고 자산을 어떻게 모을지에 대한 저의 생각, 부자가 되고 싶다는 생각을 하게 해준 책입니다. 제가 저자를 높이 평가하는 이유는 아무것도 없던 흙수저에서 이른 나이에 억만장자가 되었기 때문입니다. 부자가 되는법, 재테크를 하는법을 소개해주는 사람들은 그 방법으로 부자가되었다기 보다는 베스트 셀러가 되어서 부자가되었기 때문에 그 사람들의 말을 전적으로 믿지 않습니다. 하지만 저자는 부에 대한 자신의 방법을 실천하여 이른나이에 은퇴를하였고 현재 행복한 삶을 살고 있습니다. 저자가 돈을 번 방식은.. 2020. 4. 9.