반응형 전체 글350 기본 키 매핑 2023. 02.07 12:00 복습 시작 기본 키 매핑 기본키를 애플리케이션에서 직접 할당하는 대신에 데이터베이스가 생성해주는 값을 사용하려면 어떻게 매핑해야 할까? 오라클의 시퀀스 오브젝트라던가 아니면 MySQL의 AUTO_INCREMENT 같은 기능을 사용해서 생성된 값을 기본 키로 사용하려면 어떻게 해야 할까? 데이터베이스마다 기본 키를 생성하는 방식이 서로 다르므로 이 문제를 해결하기는 쉽지 않다. JPA는 이런 문제를 어떻게 해결하는지 알아보자. 직접 할당 : @Id만 사용 자동 생성 (@GeneratedValue) IDENTITY : 기본 키 생성을 데이터베이스에 위임. (MySQL) SEQUENCE : 데이터베이스 시퀀스 오브젝트 사용. (ORACLE) @SequenceGenerator 필.. 2022. 2. 25. 클래스 메서드(static 메서드)와 인스턴스 메서드 메서드 앞에 static이 붙어 있으면 클래스 메서드, 붙어 있지 않으면 인스턴스 메서드다. 클래스 메서드도 클래스 변수처럼, 객체를 생성하지 않고도 '클래스이름.메서드이름'과 같은 식으로 호출이 가능하다. 반면에 인스턴스 메서드는 반드시 객체를 생성해야만 호출할 수 있다. 인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드다. 인스턴스 변수는 인스턴스를 생성해야만 만들어지므로 인스턴스 메서드 역시 인스턴스를 생성해야만 호출이 가능하다. 반면에 메서드 중에서 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static) 메서드로 정의한다. 클래스를 설계할 때, 멤버 변수 중 모든 인스턴스에 .. 2022. 2. 24. 클래스 변수, 인스턴스 변수, 지역 변수 변수는 클래스 변수, 인스턴스 변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수의 선언된 위치'이므로, 변수의 종류를 파악하기 위해서는 변수가 어느 영역에 선언되었는지를 확인하는 것이 중요하다. 멤버 변수를 제외한 나머지 변수들은 모두 지역 변수다. 멤버 변수 중 static이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스 변수다. 변수 예시 class Variables{ int iv; //인스턴스 변수 static int cv; //클래스 변수, static 변수 void method(){ int lv=0; //지역 변수 } } 인스턴스 변수 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다. 인스턴스 변수의 값을 읽어 오거나 저장하기 위해서는 먼저.. 2022. 2. 24. 객체와 테이블 매핑, DB 스키마 자동 생성, 필드와 컬럼 매핑 2023. 02.07 11:15 복습 시작 객체와 테이블 매핑 JPA를 사용하는 데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것. 이에 대해 학습해보자. @Entity @Entity가 붙은 클래스는 JPA가 관리하며 엔티티라 한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수이다. @Entity 적용 시 주의해야 할 점이 몇 가지 있다. 기본 생성자는 필수다. 즉, 파라미터가 없는 public or protected 생성자가 필수다. final 클래스, enum, interface, inner 클래스에서는 사용 불가하다. 저장할 필드에 final을 사용할 수 없다. @Entity에는 name이라는 속성도 있다. 이는 엔티티 이름을 지정하는데 name을 설정하지 않는다면 클래.. 2022. 2. 24. 클래스, 객체 , 인스턴스 클래스란? 객체를 정의해 놓은 것. 객체의 설계도 또는 틀이다. 객체를 생성하는 데 사용하지만, 객체 그 자체는 아니다. 기능(메서드)과 속성(필드)을 가진다. 객체란? 우리가 주변에서 볼 수 있는 책상, 의자와 같은 사물과 개념, 논리 사랑 같은 무형의 개념도 객체다. 클래스의 설계 그대로 생성된 실체다. 우리가 소프트웨어에 구현할 대상이다. OOP의 관점에서 클래스의 타입으로 선언되었을 때 '객체'라고 부른다. 인스턴스란? 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 한다. 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 인스턴스란 클래스의 설계대로 메모리에 할당된 객체다. 객체를 소프트웨어에서 만들면 그것이 인스턴스다. OOP의 관점에서 객체가 메모리에 할당되어 실제 .. 2022. 2. 24. 2022.02.24 클린 코드 - 4장 주석 TIL (Today I LeTIL (Today I Learned) 2022.02.24 오늘 읽은 범위 4장. 주석 책에서 기억하고 싶은 내용을 써보세요. 프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리가 프로그래밍 언어를 치필하게 사용해 의도를 표현할 능력을 가지고 있다면, 주석은 전혀 필요하지 않다. (p.68) 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다.(p.69) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 본인이 이해하기에, 좋은 주석은 법적인 주석, 의도를 설명하는 주석, 결과를 경고하는 주석, TODO 주석, 대수롭지 않다고 여겨질 뭔가의 중요성을 강조하는 주석이 있다. 그외의 주석은 코드를 통해서 해결할 수 .. 2022. 2. 24. 이전 1 ··· 42 43 44 45 46 47 48 ··· 59 다음 반응형