Back-end139 영속성 관리 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 팩토리는 한 개만 생성되고, 엔티티 매니저는 여러개 생성되서 애플리케이션 전체에서 공유하도록 설계되어 있다. 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하므로 서로 다른 스레드 간의 공유해도 되지만, 엔티티 매니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안된다. 엔티티 매니저는 데이터베이스 연결이 필요한 시점까지 커넥션을 얻지 않는다. 보통 트랜잭션을 시작할 때 커넥션을 획득한다. JPA 구현체들은 엔티티 매니저 팩토리를 생성할 때 커넥션풀을 만든다. (J2SE 환경) 영속성 컨텍스트 엔티티를 영구 저장하는 환경, 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 .. 2022. 9. 2. JPA 시작 JPA 동작 방식 엔티티 매니저 설정 persistence.xml의 설정 정보를 사용해 엔티티 매니저 팩토리를 생성한다. 이를 통해 JPA를 동작시키기 위한 기반 객체를 만들고, JPA 구현체에 따라 데이터베이스 커넥션 풀도 생성한다. 때문에 엔티티 매니저 팩토리를 생성하는 비용은 아주 크다. 따라서 엔티티 매니저 팩토리는 애플리케이션 전체에서 딱 한 번만 생성하고 공유해서 사용해야 한다. 엔티티 매니저 생성 엔티티 맨니저를 사용해서 엔티티를 데이터베이스에 등록/수정/삭제/조회 할 수 있다. 엔티티 매니저는 데이터베이스 커넥션과 밀접한 관계까 있으므로 스레드간에 공유하거나 재사용하면 안된다. 종료 사용이 끝난 엔티티 매니저는 종료하고, 애플리케이션을 종료할 때 엔티티 매니저 팩토리도 종료해야 한다. 트랜.. 2022. 9. 1. JPA 소개 JPA란? JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. 애플리케이션과 JDBC 사이에서 동작한다. ORM이란? ORM(Object-Relational Mapping)은 이름 그대로 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해준다. ORM 동작 방식 ORM 프레임워크를 사용하면 객체를 데이터베이스에 저장할 때 INSERT SQL을 직접 작성하는 것이 아니라 객체를 마치 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 된다. 그러면 ORM 프레임워크가 적절한 INSERT SQL을 생성해서 데이터베이스에 객체를 저장해준다. ORM의 장점 SQL을 개발자 대신 생성해서 데이터.. 2022. 8. 31. [Heroku] 배포 h10 "app clush" 에러 상태 : 정상적으로 gradle 빌드까지는 됫지만, app clush 오류가 발생 해결법 : Spring boot 2.7.3 -> 2.6.7 버전 다운그레이드 후 오류 해결 2022. 8. 30. HTTP HTTP 서버와 클라이언트가 웹에서 데이터를 주고받기 위한 프로토콜(규약) HTTP/1.1, HTTP/2는 TCP 기반 위에서 동작 HTTP/3는 UDP 기반 위에서 동작 HTTP 요청/응답 메시지 구조 클라이언트 요청메세지 Request line, Header, Blank Line, Body 서버 응답메시지 Status, Header, Blank line, Body HTTP의 특징 클라이언트 - 서버 모델 무상태 프로토콜(Stateless) 서버가 클라이언트 상태를 유지하지 않는다. 해결책 : Keep-Alive 속성 사용 비 연결성(Connectionless) 서버가 클라이언트 요청에 대해 응답을 마치면 맺었던 연결을 끊어 버린다. 해결책 : 쿠키(클라이언트에 정보 저장), 세션(서버에 정보 저장),.. 2022. 8. 24. 객체지향 객체지향 4가지 특징 추상화(Abstraction) : 핵심적인 개념 또는 기능을 간추려 내는 것 다형성(Polymorphism) : 하나의 객체가 여러 가지 타입을 가질 수 있는 것 캡슐화(Encapsulation) : 객체의 속성과 행위를 하나로 묶고, 구현 내용 일부를 내부에 감추어 은닉하는 것 상속(Inheritance) : 부모로부터 요소를 물려받는 것 객체지향의 5가지 설계 원칙(SOLID) SRP : Single Responsibilty Principle (단일 책임 원칙) : 하나의 책임만을 가진다. OCP : Open/Closed Principle (개방 폐쇄 원칙) : 확장에는 열려있고, 변경에는 닫혀있다. 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있어야 한다. LSP : L.. 2022. 8. 24. 이전 1 ··· 10 11 12 13 14 15 16 ··· 24 다음