問題タブ [persist]
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 - クエリを記述したり、ID を持たずに Hibernate にオブジェクトをロードする方法はありますか?
次のように、Java から DB にオブジェクトを永続化できます。
テーブルパーソン:
そしてJavaでは
2 つの引数がキーを構成します。この場合、name と groupID は DB 内の一意のキーであるため、テーブル内の特定の行を明確に識別するのに十分です (複数の "dhackner" エントリ、複数の "group 3" エントリを持つことができますが、"dhackner, group 3" エントリ)。
セットアップが正しいと仮定すると、そのコードは次のようになります。
クエリを記述したり、自動生成された ID を使用したりせずに、その逆を実行できるようにしたいと考えています。
テーブルパーソン:
Java の場合:
silverlight - Silverlight、異なるページとコントロール間でデータを永続化
Silverlight では、異なるページとコントロール間でデータを保持する方法を教えてください。私たちのアプリケーションでは、さまざまなページやコントロールからのユーザーの変更を追跡するための中央データ オブジェクトを用意する予定です。
どうすればこれを達成できますか?
iphone - NSDataまたはUIImageから画像タイプを検索する
サードパーティから提供されたURLから画像を読み込んでいます。URLにはファイル拡張子(またはファイル名)はありません(あいまいなURLであるため)。これから(NSDataの形式で)データを取得し、UIImageにロードして、正常に表示できます。
このデータをファイルに保存したいと思います。しかし、データがどの形式(PNG、JPG、BMP)であるかわかりませんか?JPGだと思いますが(ウェブからの画像なので)、プログラムで確実に見つける方法はありますか?StackOverflowとドキュメントを調べましたが、何も見つかりませんでした。
TIA。
編集:本当にファイル拡張子が必要ですか?私はそれを外部ストレージ(Amazon S3)に永続化していますが、iOSまたはブラウザー(どちらも拡張機能なしでデータを解釈するのに問題がないようです)のコンテキストで常に使用されることを考えると、おそらくこれは問題ではありません。
android - Androidのラジオグループから動的に作成されたラジオボタンを削除します
:) 私の RadioGroup の RadioButtons は、次のようなリンクでいっぱいの ArrayList (私のメイン アクティビティにある) から動的に作成されます。
ArrayList = { "hxxp://helloworld.com", "hxxp://helloworld2.net", ..., "hxxp://whatever.com" }
次に、メイン アクティビティのメニュー ボタンから呼び出される「リンク」という新しいクラスを作成します。このクラスは、リンクごとに (スクロール ビューで) ラジオボタンを使用して適切なレイアウトを設定し、「go!」ボタンを押します。ページの下部にあるボタン (相対レイアウト)。
これは、1つのことを除いてすべてうまく機能します。戻るボタンを使用してアプリケーションを終了し、Android メニューのアイコンをクリックしてアプリケーションに戻ると、メイン アクティビティに移動し、メニューの「リンク」ボタンをクリックすると、毎回 2 倍になります。???
リンク 0リンク
1
リンク 2
リンク 0 (再び)
リンク 1 (再び)
リンク 2 (再び)
これにより、「リンク」アクティビティを離れてから戻ってくるたびに、リンクが一番下に追加されます。RadioGroup に入れる前に、links アクティビティの最後のセッションから生成されたすべてのラジオ ボタンをクリアするメソッドを呼び出す方法はありますか? 私はキャッシュを解放しようとしましたが、onPause()
何もしていないようです。finish();
RadioGroup.destroyDrawingCache();
asp-classic - 従来のASPでASPPDF(Persists.pdf)を使用してPDFにHTMLリンクを追加する方法
php - codeigniterモデルでのテーブル名の永続化
私のモデルでは、次のようなコンストラクターを使用してモデルを設定しています
ただし、モデルのメソッドがデータベースに数回クエリを実行すると、FROM句は最初のクエリにのみ含まれているように見えます。モデル内で実行されるすべてのクエリのFROMを永続化する簡単な方法はありますか(手動でオーバーライドしない限り)?
jpa - 複雑な JPA 永続化順序の問題
私は、JPA で問題が発生しているいくつかの異常なエンティティ関係を持つプロジェクトに取り組んでいます。関連するオブジェクトが 2 つあります。ユーザーともう一方の X を呼び出しましょう。ユーザーは、X に対して 1 対多 AND 2 つの 1 対 1 の関係を持ちます。基本的には次のようになります。
【利用者実体】
[X実体]
新しいユーザーを永続化するとき、1 つのトランザクションで 2 つの x エンティティ (activeX1 用と activeX2 用に 1 つ) も永続化したいと考えています。JPA はこの abit を奇妙に処理します。ログは次のようになります。
これにより、データベースで NOT NULL 制約を使用できなくなります。これらの複数の関係を処理するより良い方法はありますか? または、JPA がオブジェクトを永続化する順序を制御する方法はありますか? JPAは、この操作で明示的に私に反対しようとしているようです。どんな助けでも大歓迎です。
google-app-engine - Google App Engine JPAのpersist()メソッドがオブジェクトのIDを入力していません
自動生成されたIDを持つ新しいJavaオブジェクトを永続化しようとしていますが、EntityManagerのpersist()メソッドを呼び出してもデータが入力されていません。Objectクラスにあります。
そして私はそれを本質的に使用して永続化しています...
それを永続化した後、idフィールドは入力されません。em.flush()を呼び出してみましたが、トランザクション内にある必要があると文句を言います。トランザクションは必要ありませんが、オブジェクトを永続化した直後にこのIDが必要です。
これはGAEのJPA実装のバグですか?
任意の提案をいただければ幸いです!
c# - フォーム認証と認証 Cookie が保持されない
フォーム認証と Cookie の永続性に関して多くの質問があることは承知していますが、1 日のほとんどを調査に費やしたので、まだ問題があります。
私の問題
アプリの特定の部分へのアクセスを認証されたユーザーに制限する Web アプリ (VS2010 ですが、webapp は f/w 3.5) に取り組んでいます (他の部分は開いています)。私の問題は、ブラウザを閉じた後、認証 Cookie が保持されていないように見えることです。
私のアプローチ
次のように web.config で構成されている単純な login.aspx ページを作成しました。
...そして、個々のページの動作は次のように宣言されます。
...これらのクッキーの悪ふざけを除いて、あらゆる点でうまく機能します...
login.aspx ページで、ユーザーのログインとパスワードをデータベース (正常に動作します) に対して認証したら、認証 Cookie を手動で作成します。ユーザーが「ログイン状態を維持する」チェックボックスを選択すると、次のメソッドを使用して Cookie が生成されます。
ここでの目的は、ユーザー Guid を認証 Cookie に保存し、それを使用してユーザー オブジェクトをセッションに復元することです (これは login.aspx ページにもあります。私の考えでは、作成した認証 Cookie からユーザー GUID を取得し、それを使用して対応するユーザー レコードをセッションに詰め込み、要求されたページにリダイレクトします):
最後に、login.aspx ページのログイン ボタンのコードを次に示します。
ご覧のとおり、特に複雑なことは何もありませんが、GenerateAuthenticationCookie(..) で作成された authCookie が正しく作成されているにもかかわらず (私が知る限り)、持続しません。
私が気づいたことの 1 つは、次のようなコードを global.asax.cs の Application_AuthenticateRequest メソッドに配置すると、次のようになることです。
...そのブレークポイントは、新しいブラウザー セッションに続いてヒットすることがありますが、スタートアップ ページ (この場合、純粋に開発とテストのために使用されるダミーの start.aspx ページ) から移動するとヒットしなくなります。
長い質問で申し訳ありませんが、私はここで本当に苦しんでいます。
確認・試したこと
コードが実行されていることを確認する - はい ブラウザの設定 - つまり、終了時に Cookie を削除しない - 削除を確認しない 別のタイムアウトを試す - たとえば、web.config のタイムアウトと同じまたは異なる、問題ではないようです... ...もちろん、少なくとも 20 から 30 の異なる以前の質問がありますが、役に立ちませんでした。
システム/開発環境
Windows 7 64 ビット、VS2010 (ただし proj は 3.5)、SQL Server 2008 Express。
私の開発サーバーでは、この問題が残っているため、必ずしも環境に問題があるかどうかはわかりません。そのマシンは、SQL 2008R2 を実行している WS2008R2 ボックスであり、同じ問題が残っています。
ここで試してみることができるアイデアはありますか? global.asax.cs の最初の Application_AuthenticateRequest ヒットをインターセプトし、セッション状態に何かを詰め込んで「認証済み」としてマークすることで、これを機能させることができるという予感があります (そのメソッドが呼び出されるたびに高価な認証試行を避けるためです。 1ページに数回あります。
前もって感謝します、
ジョン
hibernate - コレクションが変更されていない場合、Hibernate によるコレクションの更新を停止する
次のように定義された2つのエンティティBeanがあります(無関係なものは削除されています):
CriticalItems は次のように定義されます。
私のDAOコードには、次のメソッドがあります。
MasterItem をロードすると、正しくロードされ、CriticalItems Set にも指示どおりにデータがロードされます。次に、このデータを UI に送信し、更新されたコピーを取得して保持します。ユーザーは MasterItem オブジェクトのフィールドを更新しますが、CriticalItems セットやその中の何かには触れず、変更されないままです。
私の save() メソッドが呼び出されると、Hibernate は Set of CriticalItems 内の各アイテムの SQL 更新を送信することを主張しますが、それらのどれもまったく変更されていません。
掘り下げた後、これが私が起こっていると思うことです。saveOrUpdate() を実行すると、Hibernate は MasterItem オブジェクトが切り離された状態にあることを認識し、ディスクからリロードしようとします。ただし、そうすると、準備済みステートメント (起動時に Hibernate によって自動作成されたもの) を使用しているように見え、この準備済みステートメントは CriticalItems データへの結合を試みません。
したがって、Hibernate には CriticalItems の完全な Set を持つ更新された MasterItem オブジェクトがありますが、コレクションのない MasterItem を「previousState」オブジェクトとして使用します。したがって、すべての CriticalItems は SQL 経由で更新されます (挿入されません。これ自体が興味深いことです)。
この動作を引き起こす注釈で何かをしましたか? Interceptor を使用してアイテムが実際に変更されたことを確認したり、ダーティ フラグを変更して Hibernate のデフォルト アルゴリズムをオーバーライドしたりできることはわかっていますが、これは Hibernate が私の介入なしに独自に処理する必要があるようです。
任意の洞察をいただければ幸いです。
更新: コメントに基づいて、saveOrUpdate() と merge() の違いを理解していると思います。saveOrUpdate() は、すべての場合に SQL INSERT または SQL UPDATE のいずれかになり、理論的には、オブジェクトが永続的な状態から変更された場合にのみマージが更新を発行することを認識していますが、それを判断するために、Hibernate最初に SQL SELECT を介してオブジェクトをリロードする必要があります。
そのため、コードに戻って saveOrUpdate() を merge() に変更すればうまくいくと思っていましたが、そうではありませんでした。
マージ()を使用したとき、私は得ていました
しかし、saveOrUpdate() に戻すとうまくいきました。
ついに理由がわかりました-注釈に含めませんでした(うーん)CascadeType.MERGE
。@Cascade
それを修正すると、例外はなくなりました。