인텔리제이에서 로컬로 연결했는데 잘되던 연결이.. 갑자기 안된다?!! SQL Error [12514] [08006]: Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 그래서 디비버에 들어가서 보니.. 아래처럼 뜨면서 localhost가 연결이 안되더라ㅠㅠ ORA-12514 검색 계속 해보니 1. listener가 정상적인 동작을 하지 않고 있는 경우 2. 접속하기 위한 작성된 코드의 오타 → 오라클의 SID, SERVICE_NAME은 대소문자를 반드시 구분하여 기술해야 한다. 3. 존재하지..
부팀장이 되었다.. (부팀장 역할 : ERD, 백 설계..) 9월 23일 주제 결정 : [너와농부싶어] 2030 청년 귀농 지원 제공 사이트 9월 24일(토) 스터디카페에서 만나서 벤치마킹 사이트 탐색, 프로젝트 기능 회의 진행 9월 27일 : ERD, 로직 프로세스 1차 완성 퍼블리싱 역할 분장 : 메인(헤더+푸터), 게시판(공지사항,자유게시판), 멘토홍보페이지 너무많아....헬게이트 오픈 9월 28일 : Git organization, fork받고 repository 생성 VSCode로 퍼블리싱 시작.. 벤치마킹 사이트 : 똑똑! 청년농부 https://www.rda.go.kr/young/index.do (10월 1,2,3,8,9,10일..황금연휴..모두 퍼블리싱에 쏟았다..) ~ 10월 16일까지 ..
entity manager : entity 관리 요청 하나당 entity를 만들어줌. 요청2개 -> entity 2개 만듦. 각각의 entity가 jdbc를 쓴다. jpa의 구현체가 hibernate > hibernate는 sqlsession 사용 > sqlsession에서는 jdbc를 사용 ! open session은 쓰면 사용자가 선택한 메소드에 따라서 select ~ delete까지 메소드를 적절하게 써준다. if) select 사용 시, jdbc를 통해서 preparestatement로 execute가 될 것임. exectuequery, executeupdate : 알맞는 메소드 진행될 것임. entity manager는 persistenceContext 영역을 사용함. persistenceCon..
▶ JPQL 한 개의 데이터를 조회할 때에는 JPA가 find()를 제공하지만 전체를 조회할 때에는 JPA가 제공하는 JPQL을 사용해야 한다. SQL문 뒤에는 결과 중 한 개 행에 대한 resultType을 작성해준다. 여러개 행을 가져올 때에는 getResultList()를 사용한다. ▶ JPQL 주의사항 1.엔티티명과 필드명은 대소문자를 구분한다. 2.JPQL 키워드는 대소문자를 구분하지 않는다. 3.JPQL에서 사용하는 테이블명은 클래스명이 아닌 엔티티명이다. 4.엔티티의 Alias는 필수로 작성해야 한다. 쿼리 from절에 테이블명이 아니라 엔티티명을 쓴다. @Entity(name= "zzz") 클래스명이 아니라 zzz을 사용해야 한다. 없을 때는 클래스명으로. *파라미터 바인딩 년월일만 비교하..
인텔리제이에서 쿼리를 때리면 실제로 DB에 table이 만들어질까??? @Entity : JPA에 등록됨. entity로 인식함. (@Component는 빈객체 등록하려고 붙이는 어노테이션) *@Setter는 기본적으로 만들지 말고, 회사에 물어보자. @Table(name = "TBL_NAME") > 테이블명 쓰기, 생략하면 클래스명으로 자동으로 만들어짐. //빨간 줄 없애기 setting > inspections > jpa > Unresolved database references in annotations 체크 해제 @Id > 메소드와 필드에 사용 가능, PK설정(보통 Long) @GeneratedValue > 자동으로 값 증가(autoincrement) @Column(name = "컬럼명") > 생..
(day01 복습) JPA는 인터페이스이므로, JPA구현체는 hibernate이다. insert -> persist select -> find update -> setter delete -> remove ------------ JPA new project - 추가 해야 할 dependencies application.properties JPA는 mybatis(hikari)가 아닌 jdbc를 사용함. #oracle spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver spring.datasource.url=jdbc:p6spy:oracle:thin:@localhost:1521:XE spring.datasource.username=hr sp..
AOP(Aspect Oriented Programming) 관점이란 개발에 있어서, 관심사(Concern)를 의미한다. 코드의 중복을 줄일 수 있으며, 핵심 로직과 주변 로직을 분리하여 관리할 수 있다. - 파라미터가 잘 전달 되었는가? - 이 로직에서 발생할 수 있는 모든 예외 처리 핵심 로직은 아니지만 반복적으로 개발에 필요한 관심사들을 주변 로직이라고 한다. 따라서 AOP는 이러한 주변 로직을 횡단 관심사로 분리하여 작성하고 종단 관심사인 핵심 비지니스 로직만을 작성하도록 한다. 예) 나눗셈 프로그램 개발 시 두 개의 숫자를 나누는 것(핵심, 종단) 0으로 나누는 지 검사하는 것(주변, 횡단) 즉, 반복적으로 나타나는 횡단 관심사를 모듈로 분리한 후 적절한 시점에 로직을 주입하는 것이 AOP이다. ..
ORM(Object Relational Mapping) 객체진영과 RDB진영을 자동으로 매핑하여 구조의 불일치를 개발자 대신 해결해주는 기술의 총칭이다. 객체지향 구조에서 프로그래밍 언어를 사용하여 RDB의 데이터를 조작하는 방법이다. ORM을 사용하면 개발자가 SQL문을 직접 작성하지 않아도 RDB와 상호작용할 수 있다. JPA(Java Persistence API) (자바에 특화시켜서 ORM을 쓸 수 있게 만들어놓은 틀이 jpa이다. db와 java를 연동) ORM을 사용하기 위한 설계도(틀)이다. Java Application용 RDB 매핑 관리를 위한 인터페이스이며, DBMS 벤더사에 의존하지 않고 독립적으로 ORM을 사용할 수 있는 ORM 표준이다. 인터페이스이기 때문에 구현되어 있지 않은 틀만..
order project 조회, 전체 조회 숙제풀이 중단점(디버깅) 왼쪽에 빨간 점: 중단점 디버그 -> 톱니바퀴 기계로 컴퓨터가 돌아감. 세계 최초의 exception -> 톱니바퀴 사이에 벌레가 들어가 있어서 오류가 생김. 버그를 없애자, 오류를 해결하자, 오류를 검사하자 -> 디버그 중단점을 설정해서 여기서부터~여기까지 한줄씩 검사를 해보겠다. 디버깅상태를 눌러주면, 한줄씩 번역 가능. -> 너무 오래 걸리니까 단위테스트로 발전 @Controller Bean을 등록한다? > 어떤 영역에 저장이 된다. ApplicationContext : Bean을 관리해주는 객체, context영역을 관리하는 객체 Context : 메모리 상의 임시영역을 쓴다, context가 있으면 임시로 메모리에 올려놓고 필요..