問題タブ [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 - Hibernate - 1 つのセッションだけにカスケードを持続させる設定
私は休止状態でこの関係を持っています:
@OneToMany
A から B へのカスケード型は CascadeType.PERSIST ではなく、そのようにすることはできません。from B to Aに@ManyToOne
も CascadeType.PERSIST はありません。
ここで、永続化されていない A を参照する新しい永続化されていない B を参照する新しい永続化されていない A がある場合があります。
A を永続化すると例外が発生し、A はもちろん「null または一時的なインスタンス」B を参照します。B を事前に永続化すると、A が永続化されないため、同じエラーが発生します。
これを解決するにはどうすればよいですか?1 回限りの Cascade-persist を指定できますか?
hibernate - 作成時に文字列として別の列にコピーされる生成された ID
これは、Hibernate と PostgreSQL を使用する JavaEE6 アプリケーションです。データベースにユーザーが作成され、@GeneratedValue(strategy = GenerationType.AUTO)
長い ID が生成されます。request.login(id.toString(), password )
user_name 列の名前の一意性を保証できないため、データベースの user_id 列をログイン領域の名前列として使用しようとしています (例: )。ただし、Glassfishv3 で組み込みの FORM 認証を使用すると、メカニズムがデータベース内の列が var char であることを期待しているように見えるため、失敗します。
したがって、ユーザーがデータベースに作成されると同時に、列 string_id を入力する方法を探しています。この値は、自動的に生成された ID が文字列に変換されます。次の手術でもできたのですが、これが一発でできるのだろうかと思っていました。@PrePersist を試してみましたが、この段階では ID が生成されていないようです。または、ログインを実行するためのよりスマートな方法がありますか?
ありがとう。
spring - Springトランザクションコンテキストはデータを永続化しません
私の問題は一般的な問題であることは知っていますが、ここで多くの質問を確認し、Springのドキュメントを確認しましたが、何が間違っているのか本当にわかりません。私の問題:JPAを使用したSpring WebFlowプロジェクトがあります(実装:OpenJPA + MySQLデータベース)。Spring ORMを使用して、EntityManagerを(@PersistenceContextアノテーションによって)単純なRegisterDAOに挿入します。MySQLを使用するためにGlassFishs(使用している)接続プールを構成しましたが、すべてが機能します-データベースで作業できますが、何かを永続化すると何も起こりません(データはデータベースに永続化されません)。問題は、私が使用するトランザクションコンテキストにあることを知っています。Spring Transaction Managementのドキュメントを読み、このドキュメントの構成手順に従います。これは私のapplicationContext.xmlです:
ご覧のとおり、RegisterDAOをRegisterFormModelに挿入しています。これには、レジスタフォームデータを検証し、最終的にデータベースにユーザーを追加するためのビジネスロジックが含まれています。検証は正常に機能します。新しいユーザーを追加しようとすると問題が発生します。コードは次のとおりです。
RegisterDAO:
@Transactionalアノテーションも試してみました。SpringapplicationContext.xmlを次のように構成しました。
そして、私のaddUser()メソッドに次のような@Transactionalアノテーションを付けました。
または、この注釈によってクラス全体に注釈を付けることもできます。
しかし、どちらの場合も問題は同じです-データはデータベースに保存されません。私はこれの初心者なので(春全体のように:))、AOPプロキシに問題はありますか?
編集:persistence.xmlでtransaction-type="JTA
「」を使用しているので、applicationContext.xmlで使用する必要があると思い<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
ます-私は正しいですか?
c# - C#:Microsoft.Office.Interop.Excel.RangeのIDフィールドがExcelシートで保持されない
問題を始める前に、それをやる気にさせたいと思います。私の仕事はExcelシートの変更を分析することですが、ビルド内のメカニズムを介して変更を記録するのとは異なり、変更はプログラムで検出する必要があります。ユーザーが変更の記録を無効にしたり、Excel-AddInがインストールされていない場合でも変更を検出する必要があります。そのため、Microsoft.Interop.Excel-Libraryを使用して、シートとその中のセルにアクセスしました。
ここで問題になります。変更を見つけるために、ユーザーがデータを並べ替えたり移動したりした場合でも、移動またはコピーした場合でも、セルごとに一意のIDを保持する必要がありました。もちろん、コピーされた場合、IDはシートに2回あり、新しく追加されたセルにはIDがありませんが、それは問題ありません。さらに、このIDはユーザーに表示されないようにし、ユーザーがIDを変更または削除できないようにする必要があります。
そこで、フィールドを探して、単一のセルを表すことができ、アクセスできるさまざまなメンバーを持つRange-Objectを見つけました。私が探していたもののように見えるIDフィールドという1つの特別なフィールドが私の注意を引きました。
また、次のように読む
文字列(この場合はGuidを123463-fc34-c43a-a391-399fc2のような文字列として)を格納して読み取ることができたので、これは完璧でした。また、セルにくっついて、セルを動かしたときなどに動かしました。
しかし、残念ながら、このIDフィールドは、ファイルが保存されたときに保持されません。その理由はわかりません。つまり、ブックを閉じて再度開いた後、すべてのIDが失われます。
したがって、私の質問は、Rangeオブジェクトの他のメンバーが存在する場合、それは文字列(= Guid)を保持でき、ユーザーには表示されないということです。Name-MemberとComment-Memberを試しましたが、どちらもユーザーに表示され、簡単に変更できます。
または、シートを保存するときにIDフィールドも保存するようにExcelに指示する方法はありますか?
テストのために、プロジェクトを作成し、Microsoft.Office.Interop.Excel-Dllへの参照を追加して、次のコードを追加できます(システムにExcelがインストールされている必要があります)。これはユニットテストであり、JUnitで実行されますが、Assert-Commandを削除するだけで、JUnitなしでもテストできます。
ワークシートやこのテーマに関する何かを保存するときに、永続化されるExcel-Worksheet-CellにIDを配置する方法についてのアイデアをいただければ幸いです。
よろしくお願いします、アレックス
アップデート14.5.2011:
名前フィールドは、次の理由で私の問題の解決策ではないようです。
まず、最も深刻なのは、名前が一意である必要があるように見えるという事実ですが、行のすべてのセルに同じIDを付けたかったので、機能しません。
第二に、C#でName-Fieldにアクセスすることは、私には本当に明確ではありません。で値を設定できます
しかし、それは深刻な問題を抱えています。名前がすでに設定されている場合、名前が設定されていない場合は例外がスローされ、次のコマンドでアクセスしようとします。
例外が発生します。また、Name.Nameが必要です。これは、最初のName-fieldが文字列ではなく、Name-Object全体であり、内部に文字列を含む別のName-Fieldがあるためです。
そして最後に、名前があるかどうかを確認したい場合は、次のようなことはできません。
存在しない名前フィールドにアクセスすると、すでに例外がスローされるためです。
php - Symfony2で永続化を簡単にするにはどうすればよいですか?
私は現在Symfony2で遊んでいて、今のところとても気に入っています。ただし、1つの質問が発生し、ベストプラクティスはどうなるのか疑問に思っています。
エンティティを永続化する場合は、次のようにする必要があります。
これは、何度も何度も実行する必要のある非常に多くのコードのようです。私が好むのはそのようなものです:
ただし、エンティティマネージャーを取得する方法に基づくと、これはベストプラクティスとはほど遠いようです。だから私は何をすべきですか?あなたがそれをどのように扱うかについてのヒントはありますか?
c#-4.0 - 「予期しない要素: XX」逆シリアル化中 MongoDB C#
次のコードを使用して、MongoDB にオブジェクトを永続化しようとしています。
ただし、ドキュメントを逆シリアル化しようとすると、「予期しない要素: _id」という例外が発生します。
別の方法でデシリアライズする必要がありますか?? これを行うための好ましい方法は何ですか?
ティア
セーレン
php - リダイレクトとset_selectの問題
私はCodeIgniter1.7.1を使用しています。これがシナリオです。フォームが送信されるたびに、2つのことを行う必要があります。
1)ドロップダウンで選択した値を保持します。2)を使用してsession->set_flashdata()
、カスタムデータベースメッセージを設定する必要があります。
ご存知のように、このフラッシュデータを設定する前にリダイレクトする必要があります。
これは私が書いたコードです。
また、ドロップダウンビューでset_selectを使用して、値を永続化します。
ここに問題があります…フラッシュメッセージが表示されますが、現在のページにリダイレクトしているため、ドロップダウンのset_select値が失われます!!! デフォルト値が選択範囲に表示されます:(..コードのリダイレクト行を削除すると、ドロップダウン値が表示されますが、フラッシュデータは設定されません!!!
皆さんがこの問題の解決策を持っていることを願っています…
android - アプリが終了した場合に Android 通知イベントを保持しますか?
私のアプリでは、ユーザーがイベントを実行すると、通知バーに通知を追加します。その通知をタップすると、アプリがフォアグラウンドにある場合とバックグラウンドにある場合の両方で機能します。
アプリが終了しても(メモリなどの理由で)通知が持続するようにしてほしい。通知タップでアプリを再起動します。
それはまったく可能ですか?
私はすべてを検索しましたが、答えが見つかりません。
通知フラグを Notification.FLAG_NO_CLEAR に設定したので、ユーザーはそれをクリアできませんが、アプリの終了時に通知が削除されます。
java - 既知の主キーを使用しながら、Hibernateでオブジェクトを永続化する。
私の問題は分離天体にあります...
私は現在、HibernateでSpringを使用しています。
私は主キーを文字列として持つマップされたオブジェクトを持っています(私はそれが悪いことを知っています...しかしコードのリファクタリングには数ヶ月かかるでしょう)、そしてそれを永続させたいです。(2つの属性だけでオブジェクトを簡略化しました)
たとえば、次のようなものを追加したいと思います。
["id": "myFirstPattern"、 "pattern":"。*"]
主キーがすでに設定されていることに注意してください。それに関する問題は、私が永続化しようとすると、Hibernateがこのオブジェクトをコンテキスト内の任意のオブジェクトにリンクしようとし(主キーのため)、リンクがないために失敗することです。デタッチオブジェクトエラーをスローします。
私はいくつかの調査を行い、オブジェクトが利用できない場合でも、merge()が持続して更新されるため、merge()で十分であるという結論に達しました。ただし、これはかなり汚い回避策であることがわかり、この問題に対する他の解決策があるかどうかを確認したいと思いました。
ヘルパーレイヤーがあることを考慮に入れてください。そのため、サービスレイヤーはHibernateDaoレイヤーと直接連携しません。したがって、同じマージDAOメソッドを呼び出す「persist」メソッドと「update」メソッドを追加することで、これを「マスク」できます。
ありがとう、フラビオ。