問題タブ [object-persistence]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Db4O-文字列を保存できますか?
私は次のコードを持っています:
しかし、それは失敗しています。文字列を保存しているという事実と関係があると思います。
私のSave()コードはこれです:
私の永続的なクラスには何か特別なものが必要ですか?または、db4oでほとんど何でも保存できますか?
c# - DTO と永続化されたエンティティのシリアル化
このテーマについてコミュニティがどう感じているか知りたいです。私は最近、NHibernate/WCF シナリオ (エンティティがサービス レイヤーで永続化される) について質問し、ここで間違った方向に進んでいる可能性があることに気付きました。
私の質問は、Web サービス (このシナリオでは WCF) の背後で永続的なオブジェクト グラフ (NHibernate、LINQ to SQL など) を使用する場合、これらのエンティティをネットワーク経由で送信することを好みますか? それとも、一連のより軽量な DTO (循環参照を除く) を作成しますか?
grails - Grails: GORM と BitSet?
サポートされていない永続データ型に関する公式ドキュメントには何も表示されないため、Groovy 言語で使用可能な型を処理する必要があるという仮定の下で作業しています。ただし、次のドメイン クラスの場合:
私は得ています:
2009-11-15 16:46:12,298 [メイン] エラー context.ContextLoader - コンテキストの初期化に失敗しました ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'transactionManager' という名前の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.MappingException です: テーブル doc_group_permissions からの関連付けは、マップされていないクラスを参照しています: java.util.BitSet
誰もこれに遭遇したことがありますか?
.net - .net オブジェクトの永続性
無料、オープン ソース、または低コストの.net
オブジェクト永続化フレームワークを提案していただけますか? NHibernate や Entity Framework のような ORM ツールは探していません。私のニーズに最も近い商用製品は、fastobject.netフレームワークです。ありがとう。
java - Java オブジェクトを永続化する最も簡単な方法は何ですか?
現在、クラスが現在 POJO であり、揮発性メモリに格納されている Java プログラムがあります。これらは永続化する必要があります。私が理解しているように、2 つの一般的な選択肢は JDO と Java Persistence API です。SQL や Torque などについてほとんど知らない人にとって、プログラムのデータに永続性を追加する最も簡単な方法はどれですか?
hibernate - 1つだけ必要な場合、Hibernateは2つの主キーを作成します
私はExpressionと呼ばれるHibernateクラスを持っています(ここではあなたの閲覧を楽しむために簡略化されています):
これにより、2つのテーブルExpression(id, data)
とが作成されますExpression_Expression(expression_id, dependencies_id)
。ただし、Hibernateはexpression_id列とdependencies_id列の両方を主キーとして設定するため、dependencies_idを複製することはできません。これは、私が望むものです。
たとえば、3つの式がある場合:
次に、Hibernateは次のことを実行します。
id=1およびdata="0"x
のテーブルに挿入しますid=2およびdata="1"のテーブルに
挿入しますid=3およびdata="a+b"のテーブルに
挿入します
'に行を挿入しますexpression_id=3およびdependencies_id=1のExpression_Expression'テーブル( 。の依存関係を作成)Expression
y
Expression
z
Expression
z
x
しかし、Expression_Expression
expression_id=3およびdependencies_id=2(z
の依存関係になりますy
)の行をテーブルに挿入しようとすると、重複エントリエラーが発生します。
同じ値の複数の行をExpression_Expression
テーブルに含めることができるようにしたいと思います。expression_id
どんな援助も大歓迎です!
nhibernate - NHibernate: 多対一 - 親オブジェクトをロードする必要がありますか?
次のエンティティ クラスを想定します。
Player の次のマッピング クラスを想定します。
そして、次の Player リポジトリ メソッドを想定します。
私の質問:
新しいプレーヤーを作成したい場合、本格的なチーム (親オブジェクト) をロードする必要がありますか?
または、「モック」オブジェクトを指定して、外部キーのみを指定できますか?
- また、「モック」オブジェクト (外部キーのみを指定) を指定できない場合、できない理由を説明していただけますか?
- つまり、ボンネットの下で何が起こっているのか教えていただけますか?
注意喚起:
- 仲間がほぼ同じ質問をしました。
- これが最も理にかなった答えです。
- 興味深いことに、DotNetRocks のエピソードで EF 4.0 について話したとき、Julia Lerman は、多くの人がこの種の状況で外部キーを使用したいと考えていることを認めました。
編集: この回答は、私の質問の本質を示しています。
Id のみを保持し、必要に応じて残りをロードするオブジェクトを持つようなものだと考えてください。リレーションシップ (FK など) を作成するために単に渡すだけの場合は、id だけで十分です。
- では、なぜプロキシ オブジェクトなどについて心配する必要があるのでしょうか。「ダミー」オブジェクトを作成して外部キー値を指定することが本当に重要なのであれば、なぜできないのでしょうか?
java - GAE Java で既存のオブジェクトの主キーを更新する必要がある
GAE Java を使用して Web アプリを構築しています。(appengine によって生成された) Long ID を主キーとして使用するクラスがあります。
この元のクラス (1 対多の関係) の親クラスとなる新しいクラスを作成したいと考えていますが、子には、現在のロング ID ではなく、タイプ「キー」の主キーが必要です。
主キーを既存の永続エンティティの long ではなくタイプ "key" に変更する最良の方法は何ですか? タイプ「キー」の主キーを持つ新しいクラスを作成し、古いオブジェクトからフィールド値をコピーする新しいオブジェクトをインスタンス化して永続化する必要がありますか? または、どうにかして既存のクラスを更新できますか?
ありがとう
java - Hibernateで1対多の一方向関係を適切に実装する
Hibernateを使用してJavaObjectPersistenceを実装する方法を学習しようとしています。具体的には、単方向の1対多マッピングを実装する方法を理解しようとしています。私は休止状態のドキュメントとこのテーマに関する多数のStackoverflowの質問を読みましたが、それらは完全には明確ではないので、これを実装する正しい方法を知りたいと思います。
これは、私がマップしようとしている種類のJavaオブジェクトの(非常に単純化された)例です。
だから問題は、これをマップするためにhbm.xmlファイルをどのように書くのですか?
休止状態のドキュメントは、Studentのマッピングファイルに配置されたこれで十分であることを示しています。もちろん、StudentとStudentGradeの両方のマッピングファイルを完全に肉付けしたと仮定します。
ただし、マッピングファイルのみが表示され、それに付随するJavaオブジェクトは表示されません。マッピングファイルには、その多対1の要素が他のプロパティとともに一覧表示されます。リストまたはセット要素には含まれていません。コレクション(例ではHashTableとして実装されたセット)を使用するJavaオブジェクトが表示される他の場所には、次のようなマッピングファイルがあります。
それは私が多くのStackOverflowの質問で見たものでもあります。では、これを実装する正しい方法は何ですか?
c# - DDD 値オブジェクト:大量の SQL 結合なしでエンティティ オブジェクトを永続化する方法は?
DDD の有用性が EAV/CR に似ていると言うのは明らかに間違っていますが、これまでに見た唯一の違いは、3 つのテーブルと多数の結合ではなく、多数の結合を使用してエンティティごとに構築された物理テーブルです。
これは、私の DDD の理解不足によるものに違いありません。 データをインポートするときに、結合や複雑化を大幅に行わずに、これらのオブジェクトをデータベースに物理的に格納するにはどうすればよいでしょうか? リポジトリにフィードするオブジェクトを簡単に作成できることはわかっていますが、カスタム C# オブジェクトとフレームワークを使用するように Microsoft Sql Server Integration Server などのツールをトレーニングするのは困難です。おそらくそれが私の質問です。Microsoft SQL Server Integration Services および Report Services で DDD ASP.NET C# フレームワークをどのように使用しますか? 笑。
EAV/CR データベースでは、ベンダー、顧客、バイヤー、代表者、会社、用務員など、人のタイプに応じて異なるクラスを持つ単一の Person テーブルをセットアップできます。3 つのテーブル、いくつかの結合、属性は常に文字列です。オブジェクトが任意の値を受け入れますが、有効になるまで保持されない MVC の ModelValidation と同様に、挿入する前に検証します。
標準的なリレーショナル モデルでは、エンティティの種類ごとにテーブルを作成し、City などの冗長なデータ型を混在させていました。
ドメイン駆動設計を使用して、オブジェクトを使用してエンティティの各タイプを表し、ValueObject の各タイプにネストされたオブジェクトを使用し、必要に応じてさらにネストされたオブジェクトを使用します。私の理解では、これにより、エンティティの種類ごとにテーブルが作成され、情報セット (値オブジェクト) の種類ごとにテーブルが作成されます。これらすべてのテーブルで、多くの結合が見られます。また、新しい連絡先の種類ごとに物理テーブルを作成することになります。明らかにもっと良い方法があるので、オブジェクトをデータベースに永続化する方法が間違っているに違いありません。
私のベンダーは次のようになります。
私のバイヤー:
Vendor.vBuyer.bPhone.pAreaCode のようなものを本当に参照していますか? Vendor.BuyerPhoneNumber を参照して保存し、Vendor.Address1、Vendor.Address2、Vendor.BuyerPhoneNumber などの部分のエイリアスのようにオブジェクトを作成すると思います。