본문 바로가기

JPA5

스프링부트+JPA - 8편 ( OOP관점에서의 모델링 ) JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다 모델링한다는 것은 추상적인 개념을 현실세계에 뽑아내는 것을 의미한다❗ 자동차 클래스와 엔진 클래스가 있다고 가정해보자. 자동차 클래스에서 엔진 클래스를 사용하기 위해선 상속을 사용해서는 안된다❗ 왜❓ Car클래스가 Engine클래스를 Extends하면 Engine이 부모 클래스가 되어버리니 말이 안되는것이다. 그래서 상속 대신 컴포지션(결합)이라는 방법을 사용해야한다. 컴포지션은 JPA가 클래스를 테이블로 모델링할 때, 필드 중 객체(클래스)가 존재하면 그 객체에 대한 테이블을 따로 만들고 그 객체에 대한 id(PK)컬럼을 만들어서 매핑(관리)하는 것이다. 아래 코드와 같이 Car클래스안에 Engine클래스를 선언해주면 된다👏👏 Class Car {.. 2021. 8. 20.
스프링부트+JPA - 7편 ( 영속성 컨텍스트 ) 영속성은 5편에서 알아봤듯이 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 컨텍스트는 그 해당 대상의 모든 것(?) 모든 정보(?)이다. ORM에서 영속성컨텍스트는 무엇일까??? 자바프로그램에서 DB에 어떤 데이터를 넣고 싶은데 그 데이터가 챔피언이라고 가정을 해보자!! 이 챔피언 데이터를 DB에 저장할 때 DB에 직접적으로 바로 저장하는 것이 아니라 중간에 영속성컨텍스트를 거치게 된다. 💡챔피언 데이터 ---> 영속성컨텍스트 - DB💡 영속성컨텍스트는 자바프로그램과 DB의 중간에 위치하고 있기 때문에..❗ 자바프로그램에서 DB로 왔다 갔다 하는 모든 정보를 영속성컨텍스트는 알고 있다❗❗ DB에 챔피언을 저장하기 위해서는 💡자바프로그램에서 영속성컨텍스트로 챔피언 .. 2021. 6. 2.
스프링부트+JPA - 6편 ( ORM ) ORM이란??? Object Relational Mapping이다❗❗ Object를 DataBase에 연결하는 어떤 방법론 같은 것이다. ORM은 나의 하인 같은 것이다❗ 우리가 어떤 클래스를 하나 만들 때 Model클래스라는 것을 생성하게 된다. Model클래스라는 것이 무엇이냐🤔🤔 우리가 어떤 건물을 짓는 설계도가 있다고 생각해보자 이 💶설계도를 가지고 🏢건물을 하나 뙇❗ 짓는 것을 모델링한다고 표현한다. 모델링한다는 것은 추상적인 개념을 현실세계에 뽑아내는 것을 의미한다❗ 모델링을 프로그래밍적으로 보면 DataBase에 Team이라는 테이블이 있다고 가정해보자😵 ID INT Name VARCHAR2(255) Year VHACHAR2(255) Java에서 Team테이블의 데이터를 Input(DML:D.. 2021. 5. 14.
스프링부트와 AWS로 혼자 구현하는 웹서비스 너튜브 개발새발에 나오시는 이동욱님이 쓰신 책을 구입했다! JPA, JUnit 테스트, OAuth2.0, AWS, CI/CD 모든것이 한 권에 담긴 책이다! 더 빨리 시작했으면 좋았겟지만..지금이라도 늦지 않았다고 생각한다 차근차근 조금씩 정리를 해나아가보자..! 이동욱 님의 블로그 https://jojoldu.tistory.com/ 2021. 5. 5.
스프링부트+JPA - 5편 ( JPA ) JPA란??? JAVA Persistence API 이다❗❗ JAVA는 뭔지 알겠는데....(JAVA를 모른다면 당신은...🤔🤔) 💡Persistence(영속성)는 무엇일까❓❓ 영속성(Persistence)은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 우리의 RAM은 휘발성이기 때문에 컴퓨터가 꺼지면 모든 데이터가 다 날아간다❗😵😵 RAM에 있는 데이터를 하드디스크에 기록하게되면 하드디스크는 비휘발성이기에 영구적으로 저장된다❗ Persistence(영속성)는 바로 이 영구히 기록될수 있도록 하는것이다❗ JPA라는것은 JAVA에 있는 데이터를 영구히(Persistence) 기록할 수 있는 환경을 제공하는 API이다💡 그럼 JAVA도 알고 Persistence도 .. 2021. 5. 3.
반응형