반응형
방법 : Lift-Record-Squeryl의 사용자 지정 필드
나는를 만들기 위해 노력하고있어 EnumListField
유사 리프트 / 기록 / Squeryl에 MappedEnumList
에서 LiftMapper
. 스토리지 유형은 Long / BIGINT 여야합니다. 다음을 정의하면 이해합니다.
def classOfPersistentField = classOf[Long]
그러면 Squeryl은 BIGINT 열을 만들어야 함을 알게됩니다. 그리고 나는 그것이 setFromAny()
값을 설정하고 Long을 전달 하는 데 사용 한다는 것을 알고 있습니다 . 내가 얻지 못하는 한 조각은 :
필드의 값을 어떻게 읽습니까? 를 사용하면를 valueBox
얻게 Seq[Enum#Value]
되며이를 Long으로 바꾸는 방법을 알 수 없습니다.
Squeryl에게 my Seq[Enum#Value]
를 Long 으로 변환 하도록 지시하거나 Long을 반환하는 "getter"를 정의하고 "일반"getter와 충돌하지 않는 방법은 무엇입니까?
유효성 검사 논리를 잘못 구현하고 있습니다. 레코드 필드의 유효성을 검사하는 올바른 방법은
def validations: List[ValidationFunction]
여기서 ValidationFunction은 유형 별명입니다.
type ValidationFunction = ValueType => List[FieldError]
그리고 귀하의 경우 ValueType == String.
다음 문제는 도메인 특성입니다. 유효성 검사 호출은 클래스 정의에 인라인되므로 필드가 생성 될 때 호출됩니다.
참고 URL : https://stackoverflow.com/questions/5693296/howto-custom-field-in-lift-record-squeryl
반응형
'programing tip' 카테고리의 다른 글
(;;) 또는 while (true)의 올바른 C # 무한 루프는 무엇입니까? (0) | 2020.09.02 |
---|---|
싱글 톤을 정의하는 간단하고 우아한 방법이 있습니까? (0) | 2020.09.02 |
OpenCV가 포함 된 증강 현실 SDK (0) | 2020.09.02 |
Ruby on Rails의 WordPress 대안은 무엇입니까? (0) | 2020.09.02 |
iPhone 앱에 Python 포함 (0) | 2020.09.02 |