UPDATE : 내 현재 상황을 반영하기 위해 샘플을 변경리프트 매퍼 - OneToMany 맵핑 특성
상당히 들어 올릴 새로운 내 응용 프로그램에 대한 모델을 만들려고하고 있습니다. DRY 정신을 유지하기 위해 필자는 특성 믹스를 사용하여 모델의 일부 필드를 지정하려고합니다. 나는 직원 한 매핑 많은 contactInfos이 볼 수 있듯이
trait Person[T <: LongKeyedMapper[T]] extends LongKeyedMapper[T]{
self: T =>
object firstName extends MappedString[T](this, 50)
object lastName extends MappedString[T](this, 50)
object civicRegNumber extends MappedString[T](this, 12)
}
class Employee extends IdPK with OneToMany[Long, Employee] with Person[Employee] {
def getSingleton = Employee
object contactInfos extends MappedOneToMany(EmployeeContactInfo, EmployeeContactInfo.person)
}
object Employee extends Employee with LongKeyedMetaMapper[Employee]
: 예를 들어, 나는 내 Employee
클래스에 믹스 인 Person
특성을 가지고있다. 이것은 작동하는 것 같다,하지만 난 내 Person
특성에 contactInfos 객체를 이동하고자하는
trait PersonContactInfo[T <: LongKeyedMapper[T],P <: Person[P]] extends LongKeyedMapper[T] {
self: T =>
object email extends MappedEmail[T](this, 80)
def personMeta:P with LongKeyedMetaMapper[P]
object person extends LongMappedMapper[T,P](this, personMeta)
}
class EmployeeContactInfo extends IdPK with PersonContactInfo[EmployeeContactInfo, Employee] {
def getSingleton = EmployeeContactInfo
val personMeta = Employee
}
object EmployeeContactInfo extends EmployeeContactInfo with LongKeyedMetaMapper[EmployeeContactInfo]
: 것 같습니다. 그러나, 나는 이것을 달성하는 방법을 알아낼 수 없다 ... 특성에서 OneToMany 매핑을 상속하는 것이 가능한가? 도움을 환영합니다!