私はdb4oオブジェクトのデータベースを試していますが、今まで私が見ているものはかなり気に入りましたが、私はこの記事をstackoverflow db4o experiences?にも読んでいます。db4oの作業に関するいくつかの質問
現実世界のアプリケーションでdb4oがどのように使用されているかについて、今私はいくつか質問しています。ですから、db4oで作業している経験があれば(特にWebアプリケーションの場合)、私はそれらを聞いてみたいと思います。ここで
は私の質問は以下のとおりです。
db4oの保存されたオブジェクトを操作するときにオブジェクトIDを管理するにはどうすればよいです**
あなたは通常、常にすべての主キー/ ID列を持っているRDBMSの背景から来ます?テーブル、私は今db4oでオブジェクトのアイデンティティを管理する方法を想像できません。例えば、私がNHibernate/mysqlを使っていて、idでUserオブジェクトを見つける必要があるなら、私はsession.Load(primaryKey)を行い、そのPKによって取得されます。 PKがテーブル定義の自動増分として定義されていることも非常に一般的です。
db4oにこのようなオプションがないので、私はオブジェクトデータベース内のいくつかのオブジェクトを識別するためにGuid構造体を使用していました。
DBに格納されたオブジェクトを表示するツールはありますか?
db4oの世界には、SQL Server Management Studio(あまり洗練されていないもの)がありますか?既に格納されているデータ/オブジェクトをdbファイルに表示したいと思います。
あなたのドメインオブジェクトの名前を変更するときにあなたはうんざりしていますか?
私が知る限り、クラスの名前を変更すると、以前に保存されたdb内のインスタンスはもう取得できません。この問題を回避する方法はありますか?すでに多くのオブジェクトを含むライブデータベースに対する更新をどう対処しますか?
プロパティをDBに保存しないように除外できますか?
たとえば、1つのドメインオブジェクトが(ステートレスな)サービスオブジェクトへの参照を保持している場合、ドメインオブジェクトが永続化されるとサービスオブジェクトも永続化されます。
少なくともデータベースにサービスインスタンスが保存されていると少し奇妙に思えます。
サービスインスタンスを保存しないように除外できますか?ドメインオブジェクトが再び取得された場合、サービスがインスタンスに再度注入されることを確認するにはどうすればよいですか?
+1これは良い質問です。お手数ですがお手伝いします。 –