두 클래스 사이에 부모 - 자식 관계가 있지만 자식 개체가 저장되지 않습니다.Scala에서 JDO를 사용하여 GAE에 자식 개체를 저장하는 방법
"org.datanucleus.store.appengine.MetaDataValidator checkForIllegalChildField : 없음 관련 net.vermaas.kivanotify.model.UserCriteria.internalCriteria을 검증"나는 경고를받을 수 있나요
을하지만 그것은 나 이유에 불분명하다 발생합니다. 벌써 여러 가지 대안을 시도해 보았습니다.
상위 클래스는 "기준"목록이 하위 인 "UserCriteria"입니다. 차일이
class UserCriteria(tu: String, crit: Map[String, String]) extends LogHelper {
@PrimaryKey
@Persistent{val valueStrategy = IdGeneratorStrategy.IDENTITY}
var id = KeyFactory.createKey("UserCriteria", System.nanoTime)
@Persistent
var twitterUser = tu
@Persistent
var internalCriteria: java.util.List[Criteria] = flatten(crit)
def flatten(crits: Map[String, String]) : java.util.List[Criteria] = {
val list = new java.util.ArrayList[Criteria]
for (key <- crits.keySet) {
list.add(new Criteria(this, key, crits(key)))
}
list
}
def criteria: Map[String, String] = {
val crits = mutable.Map.empty[String, String]
for (i <- 0 to internalCriteria.size-1) {
crits(internalCriteria.get(i).name) = internalCriteria.get(i).value
}
Map.empty ++ crits
}
// Stripped the equals, canEquals, hashCode, toString code to keep the code snippet short...
}
@PersistenceCapable
@EmbeddedOnly
class Criteria(uc: UserCriteria, nm: String, vl: String) {
@Persistent
var userCriteria = uc
@Persistent
var name = nm
@Persistent
var value = vl
override def toString = {
"Criteria name: " + name + " value: " + value
}
}
어떤 아이디어를 저장하지 않는 이유 (스칼라)는 다음과 같이
클래스
정의된다? 또는 오류 메시지가 나타나는 이유는 무엇입니까? 당신이 owned one-to-many relationship을 구현하기 위해 노력하고있다처럼덕분에, 게로