Scala에서는 동적으로 Json 으로 변환하기가 힘들다. 그래서 찾은 방법이 trait을 만들어서 상속을 통한 방법이다.
trait Person
object Person {
implicit val shapeWrites = Writes[Person] { person => person match {
case student: Student => Json.writes[Student].writes(student)
case teacher: Teacher => Json.writes[Teacher].writes(teacher)
case parent: Parent => Json.writes[Parent].writes(parent)
}}
}
@Entity
@Table (name = "teacher")
case class Teacher (
@(Id @field)@(GeneratedValue @field)@(Column @field)(name = "no") var no :Long,
@(ManyToOne @field)@(JoinColumn @field)(name = "class_no") var schoolClass : Class,
@(Column @field)(name = "name") var name : String
) extends Person {
def this() = this(0, null, null)
}
object Teacher {
implicit var teacherWrites = Json.writes[Teacher]
implicit var teacherReads = Json.reads[Teacher]
}
'Development > Web & Server' 카테고리의 다른 글
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (0) | 2015.07.22 |
---|---|
typesafe activator 삭제하기 (0) | 2015.07.18 |
[Play Framework2] JPA & Json model (0) | 2015.06.11 |
[Play Framework2] Json (0) | 2015.06.01 |
[Play Framework2] JPA (0) | 2015.06.01 |