問題タブ [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.
java - 月と日を格納する JPA/Hibernate マッピング
次の POJO があります。
JPA + Hibernateを使用して、これらのオブジェクトを次のDB構造に保存する方法はありますか:
テーブルの月:
テーブル日:
この状況のより良い解決策はありますか?
c# - MS Entity Frameworkで新しく追加されたオブジェクトへのクエリは可能ですか?
Entity Frameworkで(ObjectContext.AddObjectメソッドを使用して)新しく追加されたオブジェクトを照会またはアクセスする方法はありますか? SaveChanges を使用してデータ ストアにまだ保存されていない状況を意味します。
クエリは基になる SQL に変換され、データ ストアに対して実行されることを理解していますが、この新しいオブジェクトはまだありません。とにかく、私は興味があります-公式にサポートされていない場合、理論的には可能かもしれません。そうでない場合、開発者はどのように対処できますか? 新しいオブジェクトを手動で追跡し、Linq to オブジェクトを使用してそれらをクエリしますか?
同じ質問が LinqToSql にも当てはまります。
python - Web アプリで Python オブジェクトを永続化するにはどうすればよいでしょうか?
かなり複雑な Web アプリケーションを作成しています。Python バックエンドは、頻繁には変更されないいくつかの相互に関連するデータベース テーブルに格納されたデータと、頻繁に変更されるユーザー固有のデータに状態が依存するアルゴリズムを実行します。アルゴリズムのユーザーごとの状態は、ユーザーがアプリケーションを操作するにつれて、多くの小さな変化を受けます。このアルゴリズムは、特定の重要な決定を行うために、各ユーザーの作業中に頻繁に使用されます。
パフォーマンス上の理由から、(半正規化された) データベース データからのリクエストごとに状態を再初期化することは、すぐに実行不可能になります。たとえば、状態の Python オブジェクトを何らかの方法でキャッシュして、必要に応じて簡単に使用および/または更新できるようにすることが非常に望ましいでしょう。ただし、これはWebアプリケーションであるため、リクエストを処理するプロセスがいくつかあるため、グローバル変数を使用することは問題外です.
関連するオブジェクトを(ピクル経由で)シリアル化し、シリアル化されたデータをDBに保存しようとしましたが、現在、memcachedを介してシリアル化されたデータをキャッシュすることを試しています。ただし、これには、オブジェクトを頻繁にシリアル化および逆シリアル化するという大きなオーバーヘッドが依然としてあります。
私は共有メモリソリューションを見てきましたが、私が見つけた唯一の関連するものはPOSHです。しかし、POSH は広く使用されているようには見えず、そのような実験的なコンポーネントを自分のアプリケーションに統合するのは簡単ではありません。
アドバイスが必要です!これは Web アプリケーションを開発する最初の試みなので、これが十分に一般的な問題であり、そのような問題に対するよく知られた解決策があることを願っています。この時点では、Python バックエンドが単一のサーバーで実行されていることを前提とするソリューションで十分ですが、複数のサーバーに拡張するソリューションの追加ポイント:)
ノート:
- 私はこのアプリケーションを動作させており、現在ライブでアクティブなユーザーがいます。時期尚早の最適化を行わずに開始し、必要に応じて最適化しました。上記の問題が実際のボトルネックであることを確認するために、測定とテストを行いました。現在のセットアップからより多くのパフォーマンスを引き出すことができると確信していますが、より良い方法があるかどうかを尋ねたかった.
- セットアップ自体はまだ進行中です。システムのアーキテクチャは、ソリューションに適したものであれば何でもよいと想定してください。
asp.net - ASP.NETのSessionに実際に保存されているものは何ですか?
すべてのリクエストでデータベースからデータを取得しないように、ポストバック全体でオブジェクトの永続性を処理する方法を決定しようとしています。私はSession(イントラネットアプリケーションであり、数千人のユーザーは存在しません)を使用することに傾倒していますが、これは、実際のオブジェクトへの参照のみがそこに格納されていると思われるためです...
これが本当かどうか誰かが事実を知っていますか?
私はいつもセッションオブジェクトを使いすぎないように教えられてきましたが、このように機能すれば、それほど大きな問題にはなりません...
ここで実際にセッションに保存されるもの:
実際のシリアル化されたオブジェクト、またはその参照?
code-generation - 最初にビジネスエンティティを作成し、次にデータベースを作成できる.NETフレームワーク
.NET Frameworkを使用すると、最初にビジネスエンティティを作成し、次にデータベースを作成できますか。つまり、後でデータベースに戻るためのDDD /PersistenceIgnoranceメソッドを使用できるようにします。作成したモデル/クラスがSQLDDLおよび移行スクリプトを生成できるようにするツール。
私の言い回しを自由に作り直して、より良い質問にしてください。
java - Terracotta を永続化ソリューションとして使用する場合
Terracotta を持続性ソリューション (データベースの代わり) として使用するのは良い考えでしょうか? 特に、データの整合性の問題とトランザクション システムのサポートについて疑問に思っています。
c# - クラスインスタンスをファイル/データベースに保存する最良の方法
クラスのインスタンスをファイル/データベースに保存する最良の方法は何ですか?
Command と呼ばれる基本クラスと派生クラスのロードがあります。ユーザーは、これらのクラスを構成できるグラフィカル デザイナーにコマンドを追加して、これらのクラスのインスタンスを作成します。(プロパティを設定します)。
次に、情報を失うことなくこれらの「コマンド」をファイルに保存する方法が必要です。
1 つのアイデアは db4o を使用することでしたが、GPL ライセンスはこのプロジェクトには受け入れられません。
提案やコードサンプルはありますか?
アップデート:
(私の質問を「ぼやけさせる」ために:p)
生成されたコードは次のようになります。
しかし、その後、さまざまなコマンドが大量に発生します。
以前に使用したことはありませんが、.NET シリアライゼーションで可能であることは知っていますが、db4o はいいようですが、ライセンスがプロジェクトに合わないと言ったように、より良い代替手段があるかどうか疑問に思っていました。
更新 2:
返信ありがとうございます。おそらく今はシリアライゼーション ソリューションを使用しますが、他のオプションも検討します。参考までに、データは SQL Compact データベースに保存されます。
database - 現時点での永続化のベスト プラクティスは何ですか?
私はJavaのバックグラウンドを持っています。
しかし、オブジェクトを永続化するためのベストプラクティスと考えられるものについて、クロスプラットフォームの観点が欲しいです。
私の見方では、3 つのキャンプがあります。
- ORM キャンプ
- JDBC/DAO、iBatis などの直接クエリ キャンプ
- リンクキャンプ
人々はまだクエリをハンドコーディングしていますか (ORM をバイパスします)? JPA、Django、Rails を介して利用可能なオプションを考慮してください。
java - Spring、Hibernate、および JPA: entitymanager での永続化の呼び出しがデータベースにコミットされていないようです
Hibernate と JPA を使用して Spring をセットアップしようとしていますが、オブジェクトを永続化しようとすると、データベースに何も追加されないようです。
以下を使用しています:
AccountManager では、次のことを行っています。
AC の由来:
私が間違っていることを指摘できる人はいますか?persist 呼び出しは、例外をスローせずに戻ります。後で実行するem.contains(ac)
と、true が返されます。
誰かが必要な場合に備えて、 Account の定義方法は次のとおりです。
persistence - Spring Webflow 2.0のエンティティマネージャーはサブフロー状態からコミットできますか?
私のチームと私は現在、Spring2.5.6とSpringWebflow 2.0(JDK 1.4.2)を使用してプロジェクトを開始しています。現在、設計段階にあり、Springの永続コンテキスト/エンティティマネージャー(Hibernateを使用します)がサブフローからコミットできるかどうかを知りたいと思います。
commit属性は、end-stateからのみ使用できます。したがって、次のようなフローがある場合:
親フローが完全に実行される前に、サブフローがそのステップをコミットできるようにする必要があります。うまくいけば、それはできます。
サブフローはコミットできますか?または、webflowはこれを禁止し、真の親フローのみをエンティティマネージャー/永続コンテキストでデータベースにコミットさせますか?