REMDBMS 테이블 persons
에 이름 열 (String
)과 나이 열 (Int
)이 있다고 가정 해 보겠습니다. 서버 측에서 ID가 필요하지 않다면 이것은 case class Person(name: String, age: String)
에 완벽하게 맞을 수 있습니다. 문제는 DB (백엔드)에서 사람을 구할 때와 같이 ID가있는 경우가 있지만 때로는 양식 (프론트 엔드)에서 사람을 만들 때와 같이 ID가없는 경우가 있습니다.클라이언트와 서버간에 공유되는 코드에서 DB 엔터티를 나타내는 관용적 방법
세 가장 간단한 방법은 내가 참조 :
- 가 다른 클래스 변환을
FrontendPerson
및BackendPerson
을 만듭니다. 매우 상용구, 직접 연결 없음 - 래퍼 추가
DbItem(id: Long, person: Person)
id: Option[Long]
을 추가하십시오. 매우 보일러 화되어있어 대부분의 경우id
을 사용할 수 있으므로Option#get
이 전파됩니다.
doobie 방법으로 더 잘 (아마 더 일반적인, 모양이없는) 또는 통합되어 있는지 궁금합니다.
scala에서 정확한 문제를 설명하는 동영상이 있습니다. https://www.youtube.com/watch?v=7xSfLPD6tiQ – triggerNZ