본문 바로가기
반응형

분류 전체보기714

Entity 캐시 스프링 data jpa에서 제공하지 않거나 성능관련하여 직접 구현한다면 EntityManger를 사용해야 한다. Hiberante에서는 EntityManager를 session이라고 불러서 구현하고 있다. public void persist(Object entity); public T merge(T entity); public void remove(Object entity); public T find(Class entityClass, Object primaryKey); public void flush(); 우리가 save를 할 떄 실제 db에 저장하지 않는다. db에 들어갈 때에 gap이 존재한다. 그 공간이 영속성 컨텍스트이다. 영속성 컨텍스트에서 캐시처리를 jpa의 1차 캐시라고 말한다 1차 캐시는 .. 2021. 9. 12.
Entity 생명주기 Entiy Manager의 메서드 사용에 따라서 달라진다. 1. 비영속상태(transient) @Service public class UserService { @Transactional public void put() { User user = new User(); user.setName("reUser"); user.setEmail("reUser@fastcampus.com"); } } ================= @Test void test() { userService.put(); System.out.println(userRepository.findByEmail("reUser@fastcampus.com")); } null이 나온다, 왜냐하면 EntityManger에 의해 관리되지 않았기 때문이다. 2... 2021. 9. 12.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 7일차 Ch 03.스프링 프로젝트 01.스프링 프로젝트 세팅 1 JIRA CONFLUENCE로 소스를 관리하고 소스 배포전략을 배웠었다. 실제 프로젝트를 bitbucket으로 관리해보고 jenkins를 통해 배포해보도록 한다. 미리 프로젝트를 올려서 확인하는데, 모임관련 프로젝트를 이용하도록 한다. 리뷰내용, 로그인버튼, 리뷰모음보기 등을 할 수 있는 기능들이 있다. 실제 프로젝트를 계속 완성해나가면서 완성도를 높일 것이다. www.ecplipse.org로 로 접속해서 이클립스를 다운받는다.(JAVA EE Developers) eclipse를 실행하기 위해서는 java를 깔아야 한다. java 설치는 1.8버전으로 한다.(oracle에서 다운) Eclipse Marketplace에서 STS를 다운받아서 Spri.. 2021. 9. 12.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 6일차 Cofluence 협업 툴 소개 Confluence 또한 ATLASSIAN 회사의 제품이다. 계정을 접속하면 다운로드에서 서버 버전을 받을 수 있다. Jira가 설치되었다고 가정을 하고 Confluence를 셋팅하도록 한다. Confluence는 Jira의 구조와 비슷한 부분이 있다.여기서도 [공간]이라는 컨셉으로 프로젝트를 관리한다. 따로 별도의 공간을 만들어서 해당 프로젝트에 대해서 관리하고 처리할 수 있다. 누적하는 데이터관리로 데이터 소실을 걱정할 필요가 없다. 관리자 권한과 사용자 추가를 할 수 있다. 기존의 관리자에서 새롭게 이름과 아이디 패스워드로 추가할 수 있다. 계층별 페이지 구조가 있다. 페이지에는 API 문서로 강력한 검색 기능을 제공한다. 한눈에 보기좋게 정리할 수 있다. 다양한 문.. 2021. 9. 11.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 5일차 09.Jira CustomField 설정하기 관리에서 이슈유형에서 새롭게 추가하고 이슈 유형 계획에서 새로운 이슈유형을 사용할 수 있다. 새롭게 만든 유형으로 작업흐름을 살펴볼 수 있다. 커스텀필드 설정은 다음과 같이 넣을 수 있다 개발의 입장에서는 문제에 대해서 발생했다고 표현할 수 있다. ================================================== 문제 발생 일지 2019.10.31(날짜타입) 작업자 직군 개발자 / 기획자 / 디자이너 / 스케쥴 매니져 (택일) (1개를 선택한다) 문제 내용 TEXT 타입 작업 필요 내용 TEXT 타입 (문제가 발생할 때 어떤 내용이 필요한지 적는다) 비고 TEXT 타입 (해당 이슈에 대해서 특정값을 넣을 수 있다) 참고 URL Conf.. 2021. 9. 10.
연관관계 매핑 연관관계 - 객체와 테이블 연관관계의 차이를 이해한다. - 객체의 참조와 테이블의 외래 키를 매핑한다. 연관관계가 있다는 것은 테이블이 조회, 생성, 삭제 시 서로 연관되어 있다는 의미입니다. 예를 들어, 축구선수A가 B팀에 입단하면, 축구선수A 정보에 B팀을 추가해야하며, B팀 리스트에도 축구선수가 추가되어야 합니다. 만약 C팀으로 옮기면, 축구선수 A는 소속팀을 C팀으로 바꿔야 하고, B팀 리스트에서 선수A를 삭제합니다. 연관관계의 기본 개념은 다음과 같습니다. - 1:N 혹은 N:1 관계에서 외래키는 항상 N쪽에 있다.(외래키의 주인은 N이다.) - 1:1 관계에서 외래키의 위치는 설계에 따라 달라진다. - (N:M 관계는 다른 게시물에서 설명) JPA의 연관관계 매핑을 학습하기 이전에, 기본개념을.. 2021. 9. 10.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 4일차 06. Jira 관리자 소개 관리자 화면 [프로젝트] 프로젝트 명칭, 생성 관리 [이슈] 이슈를 수정하고 설정할 수 있다. 만들수도 있다 이슈 유형 - 이슈를 관리한다 이슈 유형 계획 - 프로젝트에 어떤 이슈 타입을 넣을 수 있을지를 설정한다 업무 흐름 - 업무의 단계를 설정한다 업무 흐름 계획 - 이슈 유형과 업무 흐름을 매핑한다 화면 - 편집을 통해서 화면에 보여줄 필드 정보를 추가/수정할 수 있다 화면 계획 - 커스터마이즈한 화면을 특정 화면 계획과 연결 시킨다 이슈유형 화면 계획 - 이슈 유형과 화면 계획을 연결한다 사용자 정의 필드 추가 - 사용자가 원하는 형태의 필드를 구성한다 [앱관리] 스크립트 도구들을 추가할 수 있다 [사용자관리] 지라, 컴플루언스 빅버켓의 사용자 계정을 통합할 수 있다 .. 2021. 9. 9.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 3일차 3. aws 설치 및 제거요강 내 결제 대시보드에서 가격 확인 가능하다. 돈을 절약하고 싶다면 안쓰는 인스턴스를 [인스턴스 상태]에서 [중지]하다가 다시 시작시킨다/ 완전히 삭제하려면 [인스턴스 종료]시킨다 4. Jira 이슈 이해하기 업무가 담겨있기 때문에 지라 이슈 이해하기는 중요하다 편집 - 이슈 수정할 수 있다 댓글 - 서로의 이슈룰 확인하고 댓글로 확인한다 할당 - 누가 소유하고 있는지 처리하는지 결젛안다 보고자 - 만든사람 // 처리자 - 이슈를 처리하는 사람 더 많은 조치 - 하위이슈 아이디를 만들 수 있다 CANCEL - 이슈상태값을 변경 관리 - 관리자만 할 수 있는 메뉴 첨부파일, 활동영역으로 여러 내용을 볼 수 있다. 작업기록을 통해 여러가지 트랜지션 아이디가 있는데 확인할 수 있다... 2021. 9. 8.
N:1 테이블 관계 설계하기 * 개요 연관관계를 정하기 위해서는 단방향인지 양방향인지, 연관관계의 주인이 어디인지를 먼저 고려해야 합니다. * JPA에서 연관관계란? 테이블에서는 외래키 하나로, 테이블을 조인하고, 참조가 가능합니다. 따라서 사실상 방향이라는 개념이 없습니다. 하지만, 객체에서는 참조용 필드가 있는 쪽으로만 참조가 가능합니다. 한쪽만 참조하면 단방향, 양쪽이 모두 참조하여 양방향입니다. 예를 들어 A->B, B->A 처럼 참조가 2군데이면 양방향 객체 참조입니다. 이처럼 2군데로 참조하기 때문에, 외래키를 관리할 곳이 필요합니다. 이 외래키를 관리할 곳을 연관관계의 주인이라고 하며, 외래키가 주인이 아닌 곳은, 외래키에 영향을 주지 못하고 단지 조회만 가능합니다. * N:1 양방향 N:1 관계는, 가장 많이 사용하는.. 2021. 9. 7.
반응형