db4o でオブジェクト ID を保持する方法はありますか。
組み込みの db4o に BigDecimal を格納するとします。
2 回読むと、同じ値を持つ 2 つの異なるオブジェクトが得られます (これは明らかです)。
2 つのクエリが同じインスタンスへの参照を返すように、db4o にクエリ結果を強制的にキャッシュさせる設定はありますか、それとも自分で行う必要がありますか?
私の経験から、同じ ObjectContainer で同じクエリを 2 回実行すると、毎回同じ (同一の) オブジェクトが返されるはずです。
オブジェクトの ID が必要な場合は、クエリ間で ObjectContainer を閉じて再度開くべきではありません。
UUIDを使用して、オブジェクトごとにIDを作成できます。つまり、オブジェクトの属性IDを追加し、UUID値を指定して保存し、そのIDで取得して更新できるオブジェクトを更新します
Db4o はID と UUID を内部で使用しており、必要に応じてそれらにアクセスできます。これも読む価値があります。