< Entity >
Entity는 데이터베이스 테이블의 구조와 매핑되는 클래스이다. 객체 관계 매핑(Object-Relational Mapping) 프레임워크에서 주로 사용된다.
데이터베이스 매핑: Entity 클래스는 데이터베이스 테이블의 각 열을 클래스의 필드로 나타낸다. 이를 통해 데이터베이스의 행(row)을 객체 형태로 표현할 수 있다.
데이터의 영속성: Entity 클래스는 데이터베이스와 애플리케이션 사이의 데이터 전송을 담당한다. 이를 통해 데이터베이스에 저장된 데이터를 애플리케이션의 객체로 불러오거나 객체를 데이터베이스에 저장할 수 있다.
데이터 검증 및 제약 조건: Entity 클래스에서 데이터 검증과 제약 조건을 설정할 수 있다. 예를 들어 특정 필드는 null일 수 없거나 고유해야 한다는 제약을 설정할 수 있다.
< Mapper >
Mapper는 Entity와 다른 데이터 모델 사이의 변환을 담당하는 클래스 또는 함수이다. 주로 데이터베이스의 Entity와 애플리케이션에서 사용하는 도메인 모델의 변환을 처리한다.
데이터 변환: 데이터베이스의 Entity를 애플리케이션의 도메인 모델로 변환하거나 그 반대로 변환한다. 이를 통해 애플리케이션의 비즈니스 로직이 데이터베이스의 세부 사항에 종속되지 않도록 한다.
데이터 캡슐화: Mapper를 통해 데이터베이스 관련 로직을 캡슐화하고 애플리케이션의 다른 부분에서는 도메인 모델만 사용하도록 한다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있다.
데이터 모델 분리: 데이터베이스 Entity와 도메인 모델을 분리함으로써 데이터베이스 구조의 변경이 애플리케이션의 비즈니스 로직에 영향을 주지 않도록 한다.
https://developer.android.com/topic/architecture?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-architecture&hl=ko#article-https://developer.android.com/topic/architecture&hl=ko
728x90
'앱 개발 > Kotlin_Android' 카테고리의 다른 글
Hilt & ViewModel (0) | 2024.05.31 |
---|---|
검색 버튼 클릭시 키보드 숨김 처리 (0) | 2024.05.31 |
DAO annotation (0) | 2024.05.21 |
Room 사용 이유 (0) | 2024.05.21 |
Room (0) | 2024.05.20 |