Day08 JPA 심화 - 영속성
JPA 영속성 개념 JPA 영속성 컨텍스트(Persistence Context)는 엔티티를 영구 저장소(데이터베이스)에 저장하기 전까지 엔티티를 관리하는 일종의 메모리 공간입니다. 영속성 컨텍스트는 엔티티 매니저(EntityManager)에 의해 관리되며, 엔티티의 상태를 추적하고 변경 사항을 데이터베이스에 반영합니다. 주요 특징은 다음과 같습니다:...
JPA 영속성 개념 JPA 영속성 컨텍스트(Persistence Context)는 엔티티를 영구 저장소(데이터베이스)에 저장하기 전까지 엔티티를 관리하는 일종의 메모리 공간입니다. 영속성 컨텍스트는 엔티티 매니저(EntityManager)에 의해 관리되며, 엔티티의 상태를 추적하고 변경 사항을 데이터베이스에 반영합니다. 주요 특징은 다음과 같습니다:...
낙관적 락, 비관적 락 JPA에서만 통용되는 개념으로 DB에서는 낙관적락을 직접적인 지원은 없다. 1. 비관적 락 데이터 접근 시 락을 걸고 데이터를 읽음 읽기/쓰기 락을 통해서 다른 트랜젝션의 접근을 제어한다. 락권한을 가진 트랜잭션이 끝나기 전까지 다른 트랙잭션은 대기 상태에 남는다. 2. 낙관적 락 데이터 접...
코딩자동화 툴 Github Copilot Cursor JPA심화 - 트렌젝션, 락 1.실습 파일 세팅하기 1) 도커 마리아DB 컨테이너 실행하기 ```bash docker run -p 3306:3306 --name maria_container -e MARIADB_ROOT_PASSWORD=1234 -d mariadb ``` 2) yml 파일 세팅하기...
AI chatbot AI chatbot 적용 코드 채팅 구현(실습) RestAPI 채팅 구현 채팅
전체코드 Github 3.1 네비게이션 바 추가하기 네비게이션 바는 화면 상단에 메뉴를 표시하는 역할을 한다. 1) html 파일에 네비게이션 바 추가하기 <nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom"> <div...
전체코드 Github 2.6 도메인 별로 분류 도메인이란 비즈니스 로직을 처리하는 클래스를 말한다. 도메인을 별도의 패키지로 분류하여 관리하면 코드의 가독성이 높아진다. 도메인을 분류하는 방법은 다음과 같다. 1) 도메인 패키지 생성 2) 도메인별로 패키지 생성 3) 도메인별로 엔티티, 레포지터리, 서비스, 컨트롤러를 생성한다. ...
전체코드 Github 2.1 스프링부트 프로젝의 구조 이해하기 스프링 부트의 기본 구조는 다음과 같다 project-root/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ └...
1.1 스프링부트란 스프링 부트(Spring Boot) 는 웹 프로그램(웹 애플리케이션)을 쉽고 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크이다. 웹 프레임워크 정의 : 웹 프로그램을 개발할 때 필요한 기능들을 미리 만들어 놓은 것 장점 : 개발자가 필요한 기능을 직접 만들지 않아도 되기 때문에 개발 시간을 단축할 수 있다....
React ToDO List 만들기 1. 프로젝트 세팅 Node.js 설치 npm으로 리액트 프로젝트 생성 npm create vite@latest √ Project name: . #현재 디렉토리에 설치 √ Package name: todoapp √ Select a framework: » React √ Select a...
REST API 실습 yml 파일 세팅 JPA 세팅 DataBase 세팅 GitRepo RestAPI 요청 체계 게시물 목록 : GET http://localhost:8080/articles 게시물 등록 : POST http://localhost:8080/articles 게시물 단건 조회 : GET http://localh...