プロパティが次のクラスがありますOption[T]
class User extends IdBaseEntity[UUID] { var id: オプション[UUID] = なし 変数名: Option[文字列] = なし var createdOn: Option[Date] = なし }
一部のデータ アクセス レイヤーでは、オブジェクトが cassandra に永続化される前にこれらのプロパティが設定されていない場合、これらのプロパティを割り当てる必要があります。ここでは、createdOn
プロパティのいくつかの方法を示します。これらのいずれかが最善のアプローチですか、それとも私がすべきことはありますか?
例 1
entity.createdOn = Some(entity.createdOn.map(identity).getOrElse(new Date()))
例 2
entity.createdOn = entity.createdOn.orElse(Some(new Date()))
例 3
entity.createdOn = entity.createdOn 一致 { case None => Some(new Date()) ケース _ => entity.createdOn }
例 4
entity.createdOn = entity.createdOn 一致 { case None => Some(new Date()) ケース Some(x) => Some(x) }
例 5
entity.createdOn マッチ { case None => entity.createdOn = Some(new Date()) ケース _ =>; }