반응형
SMALL
반응형
LIST
Hibernate는 JPA의 대표적인 구현체로, ORM의 원칙에 따라 동작하며, MyBatis와 달리 SQL 생성과 데이터베이스 작업을 자동화합니다. MyBatis는 SQL을 개발자가 작성하도록 설계된 매퍼이기 때문에, 직접 SQL 작성이 필요합니다.HibernateHibernate는 JPA(Java Persistence API)의 구현체로, 자바 객체와 데이터베이스 테이블 간의 자동 매핑을 제공하는 완전한 ORM 프레임워크입니다.주요 특징객체-관계 매핑(ORM) 자동화: 자바 객체와 데이터베이스 테이블을 매핑하여 SQL을 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있습니다.JPA 표준 구현: JPA 인터페이스를 통해 객체지향적인 방식으로 데이터베이스 작업을 할 수 있습니다.자동화된 CRUD: s..
ORM은 객체-관계 매핑이라는 뜻으로, 객체 지향 프로그래밍 언어에서 사용하는 객체와 데이터베이스의 테이블 간의 데이터를 자동으로 변환해 주는 기술이다. 간단히 말해 , 자바나 파이썬 같은 객체 지향 언어에서 사용하는 객체들을 데이터베이스의 테이블과 매핑하여. 객체와 데이터베이스 간의 데이터를 쉽게 저장하고 불러올 수 있게 해주는 도구 입니다.ORM의 필요성객체 지향 언어와 관계형 데이터베이스는 서로 다른 개념을 가지고 있습니다:객체 지향 언어에서는 데이터를 객체로 관리합니다.관계형 데이터베이스에서는 데이터를 테이블로 관리합니다.이 두 개념을 직접 연결하려면, 개발자가 객체를 테이블 형태로 변환하거나 SQL을 작성해야 합니다. 이를 매번 수동으로 처리하는 것은 번거로울 뿐만 아니라, 유지보수가 어렵고 코..
JPA는 Java Persistence API의 약자로, 자바에서 객체와 관계형 데이터베이스를 쉽게 연결하고, 관리하기 위해 만들어진 ORM(Object Relational Mapping) 표준 인터페이스 입니다. JPA는 객체 지향 프로그래밍과 관계형 데이터베이스 간의 불일치를 해결하고, 개발자가 직접 SQL을 작성하지 않아도 데이터를 저장하고 관리할 수 있도록 돕습니다. JPA 목적과 역할객체와 데이터베이스의 매핑JPA는 자바 객체(엔티티)와 데이터베이스 테이블을 매핑하여, 자바 클래스와 관계형 데이터베이스 간의 데이터 변환을 자동으로 처리합니다.자바 객체의 필드가 데이터베이스의 열과 자동으로 연결됩니다.데이터베이스 접근 코드 단순화:JPA는 @ENTITY, @TABLE, @COLUMN 같은 어노테이..
문제 요약수빈이는 현재 위치 N에 있고, 동생은 위치 K에 있다. 수빈이가 이동할 수 있는 세 가지 방법은 다음과 같다:한 칸 뒤로 가기: 현재 위치에서 -1만큼 이동 (X - 1)한 칸 앞으로 가기: 현재 위치에서 +1만큼 이동 (X + 1)순간이동하기: 현재 위치에서 *2만큼 이동 (2 * X)각 이동은 1초가 걸리며, 수빈이가 동생의 위치 K에 도달하는 데 걸리는 최소 시간을 구하는 것이 목표이다.알고리즘 설명최단 시간을 구하는 문제는 BFS(너비 우선 탐색)로 해결하는 것이 적합하다. 이유는 다음과 같다:BFS는 최단 경로를 보장한다. 한 단계씩 모든 가능한 위치를 탐색하기 때문에, 목표 위치에 가장 먼저 도달한 경로가 곧 최단 경로가 된다.DFS(깊이 우선 탐색)는 한 경로를 끝까지 탐색하므로 ..
자바에서 추상 클래스와 인터페이스는 둘 다 클래스가 특정 기능을 수행하도록 강제하는 용도로 사용되지만, 그 사용 방식과 역할이 다르다. 추상 클래스추상 클래스는 다른 클래스가 상속받아 사용할 수 있도록 공통된 속성과 메서드를 정의한 클래스다. 모든 메서드가 추상 메서드일 필요는 없으며, 일부는 구현할 수 있다. 추상 클래스는 하위 클래스에서 구체적으로 구현해야 할 메서드를 정의함으로써 부분적으로 공통된 기능을 상속하고, 일부 기능은 강제로 구현하게 할 때 유용하다. 특징abstract 키워드를 사용하여 선언한다.일반 메서드와 추상 메서드를 모두 포함할 수 있다.객체로 인스턴스화할 수 없으며, 반드시 하위 클래스에서 상속받아 사용해야 한다.필드(변수)를 가질 수 있어 상태 정보를 저장할 수 있다.단일 상속..
BFS와 DFS 모두 활용할 수 있는 연습문제라고 생각하면 된다. 너비 우선 탐색(BFS)을 사용하는 이유최단 경로 탐색에 유리하다.BFS는 탐색을 가까운 노드부터 순차적으로 넓혀가며 수행하기 때문에, 시작 지점에서 특정 목표 지점까지의 최단 경로를 찾을 때 유리하다. 예를 들어 미로 탐색에서 출발점에서 도착점까지의 최단 경로를 찾을 때, BFS는 가장 먼저 목표 지점에 도달하는 경로가 최단 경로가 되므로 이를 바로 반환할 수 있다.모든 노드를 고르게 탐색한다.BFS는 한 지점에서 출발하여 깊이를 하나씩 늘리며 탐색하므로, 모든 노드를 고르게 탐색한다. 모든 인접 노드들을 차례로 확인하며 탐색하므로 특정 노드들이 더 깊게 우선 탐색되는 일이 없다. 이 점은 깊이 우선 탐색(DFS)과 다르며, 특히 그래프..