728x90 DataBase60 [JPA] 기본키 맵핑 기본키 맵핑 기본키를 어떻게 맵핑할지 알아본다. 효율성을 높이는 방법도 알아본다. 기본키 맵핑 어노테이션 @Id @GeneratedValue 기본키 맵핑 방법 @Id: 기본키를 사용자가 직접 정의하고 쓸때 해당 어노테이션만 달아주면 된다. @GeneratedValue: DB에서 자동으로 기본키를 알아서 채번해줄때 사용한다. @GeneratedValue의 전략들 IDENTITY 전략 기본 키 생성을 데이터 베이스에 위임한다. 주로 MySQL, PostgreSQL, SQL Server, DB2에서 사용 AUTO_ INCREMENT는 데이터베이스에 INSERT SQL을 실행 한 이후에 ID 값을 알 수 있다. - 그렇기 때문에 IDENTITY 전략에서는 영속성컨텍스트에 모았다가 한번에 날리지 못한다. - 원래.. 2021. 7. 31. [JPA] 데이터베이스 스키마 자동 생성 데이터베이스 스키마 자동 생성 데이터베이스 스키마 자동 생성에 대해 알아본다. 해당 부분은 공부하면서 중요하다는 것을 많이 느끼게 되었다. 실무에서 망하지 않으려면 잘 익혀두어야 될것 같았다. 특징 및 사용 DDL을 애플리케이션 실행 시점에 자동 생성 - 객체 매핑을 해두면 필요한 테이블을 다 만든다. 테이블 중심 -> 객체 중심 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 - 문자같은경우 oracle, mysql 과 속성이 다른데 알아서 맞춰 준다. 이렇게 생성된 DDL은 개발 장비에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬 은 후 사용 속성 create: 기존테이블 삭제후 다시 생성한다. - 어플리케이션이 수행되고 나서 기존테이블을 삭제하고 @Ent.. 2021. 7. 30. [JPA] 엔티티, 테이블, 컬럼 매핑 엔티티 맵핑 소개 @Entity, @Table: 객체와 테이블을 맵핑할때 사용한다. @Column: 필드와 컬럼매핑 @Id: 기본 키 매핑 @ManyToOne, @JoinColumn: 연관관계 매핑 객체와 테이블 맵핑 사용법 및 주의점 @Entity: 해당 어노테이션이 붙은 클래는 JPA가 관리, 엔티티 라고한다. - JPA 를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수다. 기본생성자는 필수로 작성해줘야 한다. final 클래스 enum, interface, inner 클래스 사용 하면 안된다. 저장할 필드에 final 사용 하지 않는다. @Entity 어노테이션 name 속성을 가지고 있다. - JPA에서 사용할 엔티티 이름을 지정한다 - 기본값은 class 이름을 그대로 사용한다. - 같.. 2021. 7. 30. [JPA] 준영속성 준영속성이란? 영속성 컨텍스트에 있는 객체를 제거하여 JPA가 관리 하지 않도록한다. 준영속성은 commit을 해도 아무 일도 일어 나지 않는다. 준영속성을 만드는 방법 em.detach(entity) 특정 엔티티만 준영속 상태로 전환 em.clear() 영속성 컨텍스트를 완전히 초기화 em.close() 영속성 컨텍스트를 종료 Member member = new Member(150L,"A"); em.persist(member); // 영속성 컨테스트에서 삭제 // 준영속성이 됨. // em.detach(member); // 영속성에 있는걸 통으로 제거한다. em.clear(); 참고 https://www.inflearn.com/course/ORM-JPA-Basic/lecture/21695?tab=cur.. 2021. 7. 30. 이전 1 ··· 10 11 12 13 14 15 다음 728x90 반응형