問題タブ [nhibernate-3]

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.

0 投票する
3 に答える
8361 参照

c# - NHibernate 4 アップグレードによる破壊的変更

NHibernate 4.0の新機能と修正された機能を確認できます

NHibernate 3 から 4 へのアップグレードで hbm マッピングに問題があったかどうか知りたいですか?

最近は流暢なマッピングに注目が集まっているのではないかと心配しています。より明白な重大な変更をテストすることはできますが、本番環境で誰かが遭遇した、最初はそれほど明白ではないかもしれない微妙な問題があるかどうかを知りたいと思っていました.

メジャー アップグレードのように見え、リグレッションのリスクがあると予想されます。

0 投票する
1 に答える
37 参照

java - struts2 タグの外部キー列にアクセスすると、データベース ヒットが発生するかどうか

jspページでアクションクラスのプロパティ値を取得するためにstruts2タグを使用しました.employeeというテーブルがあります.そのemployeeテーブルでは、アドレスが外部キーです.lazy fetchthingで従業員の詳細を取得し、リストを使用して値をロードします.

以下のタグを使用してjspページのstruts2タグからアドレスを取得すると。

struts2 では、アクション クラスのプロパティが valuestack に格納されていることを知っています。

私の疑問は、値スタックがプロキシオブジェクトまたは元のオブジェクトを格納し、格納されている場合、プロキシオブジェクトデータベースのヒットが発生するかどうか、元のオブジェクトが値スタックのときにプロキシオブジェクトが元のオブジェクトに変換されるかどうかです。

どんな助けでも大歓迎です!!

0 投票する
1 に答える
180 参照

c# - 単一の NHibernate HQL ステートメントでの複数の更新

NHibernate HQL を使用して、次の 2 つのステートメントを一度に実行したいと思います。

1つの文字列を作成し、それを更新しようとしました

しかし、私は常に QuerySyntaxException を取得します。これは NHibernate 3.3.1 で可能ではありませんか、それとも何か間違っていますか?

0 投票する
1 に答える
120 参照

c# - 異なるスレッドで実行される NServiceBus と NHibernate EventListeners

私が達成しようとしているのは、私のWebサイトがメッセージを生成してバスに載せ、サービスがそれを受け取り、行のAddedBy/UpdatedByフィールドに自動的にデータを入力する監査でデータベースに書き込むことです.

これを行うには、ASP.Net アプリケーションにログインしているユーザーからの Thread.CurrentPrincipal からのメッセージ ヘッダーにユーザー ID を書き込む NServiceBus IMessageMutator コンポーネントを使用します。私のサービスでは、IMessageModule を使用してこのヘッダーを抽出し、これを Thread.CurrentPrincipal にバインドします。これはうまく機能し、メッセージ ハンドラー中に、Thread.CurrentPrincipal.Identity.Name が、Web アプリケーションでメッセージを生成したユーザー ID に正しくバインドされていることがわかります。

NHibernate の IPreUpdateEventListener/IPreInsertEventListener を利用して、DB に書き込まれる前に各エンティティの AddedBy/UpdatedBy を設定しています。これは Web サイトでは完全に機能しますが、私の NServiceBus サービスでは、リスナーが実行されるスレッドは、ハンドラーが実行されるスレッドとは異なります。つまり、スレッドの CurrentPrincipal は、IMessageModule でバインドされた ID ではなくなりました。

NHibernate がコール スタックで DistributedTransactionFactory を使用していることがわかります。これが問題の原因であると思われます。コミットが失敗した場合、メッセージが再試行されたり、エラー キューに入れられたり、キューからのメッセージの削除が失敗したり、更新が DB にロールバックされたりしないなど、トランザクション性を失いたくありません。

私は Web を見回しましたが、すべての例でスレッドの CurrentPrincipal を利用して、行を変更したユーザーの ID をバインドしています。私が探しているのは、NHibernate リスナーをメッセージ ハンドラーと同じスレッドに保持するか、ユーザー ID をリスナーに渡して、DB に書き込まれる前にエンティティにバインドできるようにする方法です。

これが私のリスナーです。そこにある Set メソッドを省略しました

ID を抽出して現在のスレッドの ID にバインドする NServiceBus Message モジュールを次に示します。

0 投票する
0 に答える
48 参照

jboss7.x - javax.servlet.ServletException: com.acme.dao.StudentDao

プロジェクトを別のサーバーにデプロイしようとしています。Tomcat7、Tomcat8、WildFly8、WildFly10 でも問題なく動作しました。

以前、JBoss 7.1 で実行したところ、次の例外が表示されました。

この問題の解決策を探しています。手伝っていただけませんか?