json4sGame
を使用してシリアル化/逆シリアル化するのに問題のないケース クラスがあります。
case class Game(name: String,publisher: String,website: String, gameType: GameType.Value)
私のアプリでは、ORM としてmapperdaoを使用しています。私が持っていないサロゲートIDGame
を使用しているため、そのコンストラクターの一部を持っていません。id
ただし、mapperdao が DB からエンティティを返すとき、トレイトを使用して永続化されたオブジェクトの ID を提供します。
Game with SurrogateIntId
特性のコードは
trait SurrogateIntId extends DeclaredIds[Int]
{
def id: Int
}
trait DeclaredIds[ID] extends Persisted
trait Persisted
{
@transient
private var mapperDaoVM: ValuesMap = null
@transient
private var mapperDaoDetails: PersistedDetails = null
private[mapperdao] def mapperDaoPersistedDetails = mapperDaoDetails
private[mapperdao] def mapperDaoValuesMap = mapperDaoVM
private[mapperdao] def mapperDaoInit(vm: ValuesMap, details: PersistedDetails) {
mapperDaoVM = vm
mapperDaoDetails = details
}
.....
}
シリアル化しようとするとGame with SurrogateIntId
、空の括弧が返されます。これは、json4s が添付された特性を処理する方法を知らないためだと思います。
game
id
T with SurrogateIntId
すべてのドメイン オブジェクトに対してこれらを使用するのとほぼ同じくらい重要なことに、そのプロパティに追加されたものだけをシリアル化する方法が必要です。
誰でも私を助けることができますか?