본문 바로가기

방법9

[오류해결] Spring Boot: org.hibernate.mapping.BasicValue cannot be cast to 안녕하세요, 스코리아입니다. 도메인 Entitiy를 수정한 직후, 스프링 부트에서 발생한 오류와 해결 방법에 대해서 소개해보겠습니다. 오류에 관해서 구글에 검색해도 많은 내용이 없어서 제가 해결한 방법을 공유드리고자 합니다. 문제상황 저는 Entitiy 도메인 객체를 일부 수정한 뒤, 스프링 부트 3.1.0에서 스프링 부트를 실행시킬 때 아래와 같은 에러가 표시되었습니다. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: class org.hibernate.ma.. 2023. 11. 4.
자바 추상클래스 의미, 구현 방법 (abstract class) 안녕하세요, 스코리아입니다. 오늘은 자바 추상 클래스의 의미와 구현방법에 대해서 알아보겠습니다. 추상 (abstract)이란? 어원적 의미: 실체들 간에 공통되는 특성을 추출한 것 예: 삼성, 현대, LG를 통틀어 "회사"라 함 추상 클래스 (abstract class)란? 실체 클래스(객체를 만들어 사용할 수 있는 클래스)들의 공통되는 필드와 메소드를 정의한 클래스 추상 클래스는 실체 클래스의 부모 클래스 역할을 할 수 있음 (실체 클래스 -> 상속-> 추상 클래스) 추상 클래스 특징 구현 코드 없이 메소드의 선언만 있는 추상 메소드(abstract method)를 포함한 클래스 abstract 예약어 사용 추상 클래스는 단독으로 객체를 생성할 수 없고, 부모 클래스로만 사용 가능 (인스턴스화 불가) .. 2023. 9. 8.
자바 객체 간의 상속(extend) 의미, 구현방법 안녕하세요, 스코리아입니다. 오늘은 자바 객체 간의 상속의 의미와 구현 방법을 예시와 함께 알아보겠습니다. 클래스 상속 (Class Inheritance) 의미 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속하는 클래스: 상위 클래스, parent class, base class, super class 상속받는 클래스: 하위 클래스, child class, derived class, sub class 상속 문법 (방법) class B extends A { } 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념, 기능을 가짐 하위 클래스는.. 2023. 8. 25.
자바 ArrayList 주요 메소드 정리, 사용방법 안녕하세요, 스코리아입니다. 이전 시간에는 1차원 배열과 2차원 배열 선언, 초기화 방법에 대해서 알아보았습니다. [이전 내용] 1차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/14 [이전 내용] 2차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/16 오늘은 자바 ArrayList 선언 방법과 주요 메소드를 사용하는 방법에 대해서 알아보겠습니다. ArrayList vs 기존 배열 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했습니다. 즉, 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 따른 번거로운 구현이 필요했습니다. ArrayList는 배열의 크기(길.. 2023. 8. 23.
자바 2차원 배열 선언, 초기화 방법 (array) 안녕하세요 스코리아입니다. 이전 시간에는 자바 배열의 의미, 1차원 배열 선언/초기화 방법과 객체 배열 선언 방법에 대해서 알아보았습니다. [이전 내용] 1차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/14 [이전 내용] 객체 배열 선언 방법: https://skorea6.tistory.com/15 오늘은 자바 2차원 배열을 선언하고 초기화하는 방법에 대해서 알아본 뒤, 이를 예제를 통해 확인해 보겠습니다 다차원 배열이란? 이차원 이상으로 구현된 배열 평면(이차원 배열)이나 공간(삼차원 배열)을 활용한 프로그램 구현 이차원 배열 선언 + 초기화 (1) int[][] arr = new int[2][3]; // 2행 3열 자료형 (int, float, double..)을 .. 2023. 8. 22.
자바 1차원 배열 선언, 초기화 방법 (array) 안녕하세요, 스코리아입니다. 오늘은 자바에서 1차원 배열을 선언하고 초기화하는 방법에 대해서 알아본 뒤, 이를 예제를 통해 사용해 보겠습니다. 배열 (array)란? 동일한 자료형의 순차적 자료 구조 연관된 데이터를 모아서 관리하기 위한 데이터 타입 변수 vs 배열? : 변수는 한 개의 데이터를 저장한다면, 배열은 여러 개의 데이터를 저장합니다. 배열의 특징 인덱스 연산자 []를 이용하여 빠른 참조가 가능 배열의 인덱스(index)는 0부터 시작 물리적 위치와 논리적 위치가 동일 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언 + 초기화 (1) int[] arr1 = new int[10]; // 방법1 int arr2[] = new int[10]; // 방법2 배열은 위와 같은 .. 2023. 8. 19.
자바 싱글톤 패턴 의미, static 활용한 구현 (singleton pattern) 안녕하세요, 스코리아입니다. 오늘은 자바 static을 활용하여 싱글톤 패턴을 구현해 보겠습니다. 싱글톤 패턴은 자바 스프링의 핵심 기능 중 하나로도 등장하는데요, 싱글톤 패턴은 자바의 다양한 프레임워크에서 사용되고 있는 매우 중요한 개념입니다. 싱글톤 패턴 (singleton pattern)이란? 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 예를 들면 DB 커넥션의 경우 http 호출이 올 때마다 1개씩 생성되는 것은 비효율적이므로, 커넥션이 단 한 개만 생성된 상태로 해당 인스턴스를 공유해야 합니다. 싱글톤 패턴은 static 변수, 메소드를 활용하여 구현할 수 있습니다. 싱글톤 패턴 구현해 보기 School.java 파일을 만들고, 딱 1개의 인스턴스만 생성될 수 .. 2023. 8. 18.
자바 참조 자료형 변수 정의하기, 사용 방법 (feat. 객체) 안녕하세요. 스코리아입니다. 오늘은 자바 참조 자료형 변수를 정의하여 사용하는 방법에 대해서 알아보겠습니다. 그전에 자바의 기본형 타입과 참조형 타입의 차이를 알고 계시나요? 모르고 계신다면 이 포스팅을 읽기 전에, 제가 이전에 작성했던 내용을 꼭 참고해 보시기 바랍니다! [이전 내용] 자바 기본형 타입 vs 참조형 타입 차이점 정리 https://skorea6.tistory.com/8 참조 자료형 변수의 자료형은 두 가지로 나뉩니다. 기본 자료형(기본형 타입)에는 int, long, float, double 등이 존재하고 참조 자료형(참조형 타입)에는 기본형을 제외한 모든 것이 해당됩니다. 예를 들면 String, Date, Student(객체) 등이 존재합니다. 참조 자료형은 클래스 형으로 변수를 선.. 2023. 8. 12.
자바 생성자 의미와 구현, 그리고 생성자 오버로딩 뜻? 안녕하세요. 스코리아입니다. 오늘은 자바의 생성자 의미를 파악하고 구현해 본 뒤, 생성자 오버로딩이 무엇인지 알아보겠습니다. 생성자 (constructor)란? 생성자 의미: 인스턴스가 생성될때 호출되는 인스턴스 초기화 메소드 생성자 용도: 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메소드를 호출 생성자 호출 방법 : 객체를 생성할 때 new 키워드와 함께 사용 - 예를 들면 new Student() 생성자 기본 문법: ([]){[] 생성자를 만들 때 주의할 점 생성자는 반환 값이 없음 생성자는 클래스의 이름과 동일해야 함 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private로 선언해야 하는 경우도 있음 기본 생성자 (default constructor)란.. 2023. 8. 10.