Programming/JPA

    [JPA] 간단한 사이드 프로젝트를 위한 엔티티 클래스 개발

    데이터베이스 설계를 완료했으니 엔티티 클래스를 개발해보고자 한다. 엔티티 분석 의사(Doctor) : 이름과 진료기록(treatmentRecords)리스트를 가진다. 진료기록(TreatmentRecord) : 한 번 진료시 복수의 공통 진료부위가 있으므로, 진료기록은 기록된 진료부위 (Record_Treatment_Area)와 일대다 관계다. 동물/환자(Animal)은 여러개의 진료기록을 가지므로 다대일 관계다. (원래는 동물타입(AnimalType)과 진료기록도 연결지었지만 프로젝트 작업을 진행중인 현재, 다시 생각해보니 Animal과 AnimalType이 이미 연관관계가 있기 때문에 AnimalType과 TreatmentRecord는 연관관계가 없어도 될 것 같다. 그렇기 때문에 현재 엔티티 정리 게..

    [JPA] 간단한 사이드 프로젝트를 위한 데이터베이스 설계

    공부하고 있는 JPA를 활용하여 간단한 사이드프로젝트를 만들어 보고자한다. 프로젝트 주제는 '동물병원' 이고, 구현하고자 했던 기능은 아래와 같다. (조금 더 프로젝트를 다듬어서 엔티티는 어떻게 만들었는지도 추후 정리할 것이다) 기능설명 1. 동물의 종류는 한 가지가 아니다. 2. 의사들은 진료기록을 조회, 등록, 수정, 삭제를 할 수 있다. 3. 진료받는 공통의 진료가 있고, 동물 종류마다 다른 진료가 있다. 4. 의사 이름과 동물이름으로 진료기록으로 조회할 수 있다. 5. 동물이름으로 진료기록을 삭제 할 수 있다. 데이터베이스 설계 어떻게 해야할지 머릿속으로 생각은 나는데 구체적으로 정리가 안되서 손으로 그려가면서 정리를 했다. 정규화 과정을 거쳐서 데이터베이스 설계를 해야한다는 것을 알고있지만, 아..

    [JPA] JPA 간단 정리 및 엔티티 클래스 개발

    JPA를 공부하고자 다음 강의를 들으며 학습한 내용을 정리하고 공부해나가고자 한다👩‍💻 공부를 하면서 더 알게되거나 추가되는 내용이 있다면 계속 업데이트 할 예정이다! 엔티티 클래스 개발 정리에 들어가기 전, JPA는 무엇인지 간단한 정리를 하고자 한다. JPA란? JPA란 스프링에서 많이 사용하지만, 스프링이 제공하는 API가 아닌 자바가 제공하는 API다. 자바 ORM 기술에 대한 표준 명세로, 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스다. 그렇다면 ORM(Object Relational Mapping)이란 무엇일까?! ORM 프레임워크는 자바 객체와 관계형 DB를 매핑한다. 즉 객체가 DB 테이블이 되도록 만들어주 는 것이다. ORM을 사용하면 SQL을 작성하지 않..