반응형 개발111 [JPA] 프록시 entityManager.find() 데이터베이스 조회를 통해 실제 엔티티 객체 반환 entityManager.getReference() 데이터베이스 조회를 통하지 않고 프록시 엔티티 객체 반환 실제 사용시에 DB를 조회해서 실제 Entity 생성(프록시 객체 초기화) ex. member.getUsername() # 프록시 특징 - 실제 클래스를 상속 받아서 만들어짐 - 실제 클래스와 겉모양이 같음 - 사용하는 입장에서는 진짜 객체인지 프록시 객체인지 구분하지 않고 사용하면 됨 - 프록시 객체는 실제 객체의 참조(target)를 보관 - 프록시 객체 호출하면 실제 target의 메소드 호출 - 처음 사용할 때 한 번만 초기화 - 프록시 객체 초기화 : 프록시가 실제 엔티티가 되는 것이 아니라 실제 엔티티.. 2022. 4. 6. [JPA] 상속관계 매핑 - 상속 전략 DB의 슈퍼타입 서브타입 관계를 JPA에서는 객체의 상속 관계로 풀어낼 수 있다 아래 세 가지 전략 중 조인 전략을 기본으로 사용하고, TABLE PER CLASS 전략은 사용하지 않도록 하는 것이 좋다 상속 관계 (세 가지 전략 모두 상속 관계는 동일) 부모 클래스 - Item 엔티티 자식 클래스 - Album, Movie, Book 엔티티 1. 조인 전략 - 기본 상속 전략 - @Inheritance(strategy = InheritanceType.JOINED) @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn public class Item { @Id @GeneratedValue private Long id; ... 2022. 4. 6. [H2] Database not found, either pre-create it or allow remote database creation H2 데이터베이스에서 새로운 데이터베이스에 접속하려할 때 아래와 같은 에러문구를 볼 수 있다 ERROR: Database "/Users/username/jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-210] [원인] /Users/username 에 데이터베이스 파일이 생성되지 않았기 때문 jpashop.mv.db 파일이 생성되어야함 데이터베이스 파일이 생성되기 전에 JDBC URL에 tcp://localhost를 넣어서 접속하려고 할 경우 jdbc:h2:tcp://localhost/~/jpashop [해결방법] JDBC URL에 tc.. 2022. 4. 4. [JPA] 영속성 컨텍스트 / 엔티티의 생명주기 # 영속성 컨텍스트 "엔티티를 영구 저장하는 환경" EntityManager.persist(entity); // 객체를 영속성 컨텍스트에 저장(영속화) 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 # 엔티티의 생명주기 1. 비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 Member member = new Member(); // 비영속 2. 영속 영속성 컨텍스트에 관리되는 상태 Member member = new Member(); .. em.persist(entity); // 영속 상태 * 엔티티매니저를 통해 persist 해줘야만 영속 상태! DB에 저장되는건 아님! tx.commit(); // 트랜잭션을 커밋할때 DB에 저장 3. 준영속 영속성 컨텍스트에 저장되었다가 분리된 상태 em.det.. 2022. 3. 31. [H2] H2 데이터베이스 의존성 추가 시 버전 주의하기 https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp www.h2database.com H2 데이터베이스를 연습용 디비로 많이 사용한다 의존성을 추가 해줄 때 다운로드 받은 버전과 동일한 버전으로 추가해주도록 .. 2022. 3. 31. [Springboot] 라이브러리 의존성 버전 확인 및 선택하는 방법! dependency version 사용하는 스프링 버전과 호환이 잘되는 라이브러리 의존성 버전을 사용하려면 공식 문서에서 확인하면 된다 아래 과정을 따라가서 버전을 확인해보자! 1. 스프링부트 사이트에 들어가서 사용하려는 스프링 부트 버전의 Reference Doc. 을 클릭! https://spring.io/projects/spring-boot#learn Spring Boot Commercial support Business support from Spring experts during the OSS timeline, plus extended support after OSS End-Of-Life. Publicly available releases for critical bugfixes and security issues when req.. 2022. 3. 31. 이전 1 2 3 4 5 6 7 8 ··· 19 다음