programming


엔티티를 사용하는데에 주의사항이 몇가지 있다. 기본생성자를 필수적으로 가져야 한다. final class, enum, interface, inner class 에서는 사용할 수 없다. 엔티티의 모든 필드들은 final을 사용할 수 없다. 왜 final 키워드를 사용할 수 없을까? Order 구현 엔티티에 final을 작성했을 때, 롬복이 정상적으로 동작하지 않는다는 에러가 발생한다. 왜 엔티티에서는 final 구문을 쓸 수 없는 지는 “지연로딩"에 있었다. 💡 지연로딩(”fetchType = LAZY”)이란? 엔티티와 관계(join) 맺고 있는 엔티티에 대한 정보는 즉시 로딩되지 않고, getter 메소드가 호출하는 등의 사용 시점에서 로딩된다. JPA는 DB에서 데이터를 조회한 후, 엔티티를 생성할 때..


학습 목표 ORM에 대해 간략하게 알아보자. 패러다임 불일치에 대해서 알아보자. JPA는 자바 진영에서 ORM 기술 표준으로 사용되는 인터페이스 모음이다. 즉, 실제 구현된 클래스가 아닌 구현 클래스와의 매핑을 위해 사용되는 일종의 프레임워크라고 할 수 있다. JPA는 애플리케이션과 JDBC 사이에서 동작하며, 관계형 데이터 베이스를 사용하는 방식을 따른다. JPA를 이해하기 위해서는 ORM에 대해서 학습해야 한다. ORM? Object-relational mapping(객체 관계 매핑) 애플리 케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑, 즉 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 과정이다. ORM이 갖는 장점은 다음과 같다. 객체 지향적인 코드..


📌JDBC란? -DB에 연결 및 작업을 하기 위한 자바 표준 인터페이스. -JAVA는 DBMS의 종류에 상관없이 하나의 JDBC API를 이용해서 데이터베이스 작업을 처리할 수 있는 일종의 라이브러리이다. -JDBC는 DB에 접근하여 CRUD 구현을 효율적으로 할 수 있게 하는 메소드를 제공하여, 더욱 효율적인 프로그래밍을 가능하게 한다. 📌JDBC 연결 순서 1) JDBC 드라이버 로드 > Class.forName("oracle.jdbc.driver.OracleDriver"); Oracle driver 클래스를 메모리에 올린다. 2) DB 연결 > Connection connection = DriverManager.getConnection(url,uid,upw); DriverManager 객체는 JDB..


쿠키와 세션의 개념을 알아보기 전에 HTTP 프로토콜의 특징을 필수적으로 알아봐야 할 것이다. HTTP 프로토콜의 특징 비연결지향 클라이언트에서 서버로 요청을 보내는(request) 과정에서 서버는 클라이언트에게 응답을 하고(response) 접속을 끊는 특징을 지닌다. 비상태성 HTTP 통신은 클라이언트로부터 요청을 받고 응답을 한 후에는 접속을 끊는 비연결지향성 때문에 고객의 상태정보를 확인 할 수 없다. 두 가지 특징 때문에 웹사이트는 사용자의 상태정보를 식별할 수 없어서 접속할 때마다 새로운 사용자로 인식하게 된다. 사용자의 상태정보를 식별하고, 접속이 끊긴 후에 다시 접속했을 때 그 정보를 유지할 수 있는 기능으로 HTTP 프로토콜의 단점을 보완하는 것이 쿠키, 세션이다. 📌쿠키의 개념 쿠키는 ..


📌생성자란? "인스턴스를 초기화하는 메서드" 인스턴스란? "메모리에 생성된 클래스" new 연산자를 사용하여 메모리 상에 클래스를 선언하고, 선언된 클래스의 주소(인스턴스 주소)를 리턴하여 레퍼런스 변수에 저장 클래스명 참조변수 = new 클래스명 인스턴스명(생략)(); 1.리턴타입이 없어야 한다. 2.클래스명과 생성자명이 동일해야 한다. 2번 조건에 의해 클래스명과 인스턴스명이 동일해지기 때문에 중복되어 생략이 가능하다. 생성자를 만들어보자. 'Car' 클래스에 String 타입의 model, color, 그리고 int 타입의 maxSpeed인 인스턴스 변수를 넣어주었다. 이클립스는 생성자가 없을 경우, 컴파일러를 통해서 자동으로 생성자를 생성해주는 기능을 제공하고 있다.(alt+ Shift+ s) c..