私はmongodbでplay2.1アプリケーションを作成しています。私のモデルオブジェクトは多少拡張されています。私はDB内のエントリを更新するときに、私は更新のクエリを構築することができます(と変更をログに記録する)ので、フォームから来ている一時オブジェクトをDBにあるものと比較する必要があります。ケースクラスのデータメンバーを繰り返し処理する
私は一般的に2つのインスタンスを取得し、それらのdiffを取得する方法を探しています。すべてのデータメンバーを繰り返し処理する方法を探しているので、各データメンバーを繰り返し処理することは、ハードコーディングされ、エラーが発生する可能性があります(a.firstName.equalsIgnoreCase(b.firstName) >値が実行されるか、またはリストが信頼できるので、毎回同じ順序でデータメンバーが列挙されます)。
case class Customer(
id: Option[BSONObjectID] = Some(BSONObjectID.generate),
firstName: String,
middleName: String,
lastName: String,
address: List[Address],
phoneNumbers: List[PhoneNumber],
email: String,
creationTime: Option[DateTime] = Some(DateTime.now()),
lastUpdateTime: Option[DateTime] = Some(DateTime.now())
)
右、下の3つのすべてのソリューションは素晴らしいですが、私はまだ、フィールドの名前を取得することはできませんか?それは私が何をフィールドそれが影響を受けた変更をログに記録することはできませんが、意味...たぶん
いくつかのコードスニペットを投稿できますか?ケースクラス、いくつかのサンプルインスタンス、および成果を達成したいですか? –