問題タブ [hbm]

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 投票する
1 に答える
479 参照

c# - エンティティの nhibernate との多対多の関係

私はnibernateに問題があります、

多対多の関係を持つ hbm ファイルがあります。これはこれまでのところ機能しますが、エンティティからhbmを生成したい

エンティティにプロパティを設定しようとしましたが、コンパイルされません

これはhbmファイルです

そして今エンティティでやった

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

hibernate - Hibernate hbm ファイルの @Audited アノテーション

アプリケーションで Hibernate を orm として使用しています。

今、それを Envers と統合したいと考えています。現在、hbm ファイルを使用してエンティティを生成しています。その場合、生成クラスに @Audited アノテーションが必要であることを hbm ファイルでどのように言及できますか。

ありがとう、
ナレンドラ

0 投票する
2 に答える
5797 参照

c# - 結合されたサブクラスのNHibernateで識別されたサブクラス

これが私の階層です:

これが2つの別々のhbmファイルでの私のマッピングです:

以下は私が得る例外です:

MappingException:XML検証エラー:名前空間'urn:nhibernate-mapping-2.2'の要素'joined-subclass'には、名前空間'urn:nhibernate-mapping-2.2'の無効な子要素'discriminator'があります。

私は何が欠けていますか?結合されたサブクラスの識別されたサブクラス階層をマップできませんか?

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

hibernate - HQLクエリのヘルプが必要

次のように、 Personという単純なクラスがあります。

そして、各PersonStateは次のように定義されます。

また、Stateは、 ID名前のみを含む単純なクラスであり、すべてのマッピングファイルを構成して機能させています。

最後のPersonState (日付に基づく)のStateid = 5(たとえば)であるPersonを取得したいので、HQLクエリはどのようになります?ありがとう!

0 投票する
2 に答える
157001 参照

hibernate-mapping - 1 対多の FK でも使用される複合 ID キー プロパティに "insert='false' update='false'" をマップするにはどうすればよいですか?

既存の DB スキーマを使用してレガシー コード ベースに取り組んでいます。既存のコードは、SQL と PL/SQL を使用して DB でクエリを実行します。プロジェクトのごく一部をデータベース エンジンにとらわれないようにする作業が行われました (最初は、最終的にはすべてを変更します)。Hibernate 3.3.2.GAと "*.hbm.xml" マッピング ファイル (注釈ではなく)を使用することを選択しました。残念ながら、レガシー機能を元に戻すことはできないため、既存のスキーマを変更することはできません。

私が直面している問題は、FK が複合 PK の一部である単方向の 1 対多の関係をマップしようとしている場合です。クラスとマッピングファイルは次のとおりです...

CompanyEntity.java

CompanyNameEntity.java

CompanyNameEntity.hbm.xml

このコードは、名前を持つ Company の SELECT および INSERT に対して問題なく機能します。既存のレコードを更新しようとしたときに問題が発生しました。BatchUpdateException を受け取り、SQL ログを調べたところ、Hibernate が愚かなことをしようとしていることがわかりました...

Hibernate は、更新する前に子レコードの関連付けを解除しようとしていました。問題は、このフィールドが PK の一部であり、null 不可であることです。Hibernate がこれを行わないようにする簡単な解決策は、親マッピングの「key」要素に「not-null='true'」を追加することであることがわかりました。SO メイマッピングは次のようになります...

CompanyNameEntity.hbm.xml

このマッピングは例外を与えます...

私の問題は、これらの属性を key-property 要素に追加しようとしたが、DTD でサポートされていないことです。また、キー多対1要素に変更しようとしましたが、それもうまくいきませんでした。そう...

1 対多の FK でも使用される複合 ID キー プロパティに "insert='false' update='false'" をマップするにはどうすればよいですか?

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

nhibernate - session.GetNamedQuery() で「Named Query Not Know」エラーを取得する

session.GetNamedQuery() を呼び出すと、一貫して「Named Query Not Known」という MappingException が発生します。私は NHibernate 3.0 で Fluent を使用しており、hbm.xml ファイルにクエリがあります。簡単にするために、すべてを同じアセンブリに入れています。xml ファイルの Build Action を「Embedded Resource」に設定しました。

私の構成は次のようになります。

私の GetFirstParty.hbm.xml ファイルは次のようになります。

ここで何が欠けていますか???

助けてください。

ありがとう、

マイク

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

nhibernate - Fluent Nhibernate とカスタム コレクション

次の Fluent NHibernate 構成があります...

その結果、次の HBM が発生します...

コレクションをリストとして扱うには、「AsList」メソッドを追加します...

その結果、次の HMB が生成されます...

ただし、最初の構成 (「AsList」なし) は問題なく動作しますが、2 番目の構成では次のランタイム エラーが発生します。

名前空間「urn:nhibernate-mapping-2.2」の要素「list」には、名前空間「urn:nhibernate-mapping-2.2」に無効な子要素「index」があります。予想される可能な要素のリスト: 名前空間「urn:nhibernate-mapping-2.2」の「meta、subselect、cache、synchronize、comment、key」。

何か案は?

私のドメイン モデルについてもう少し詳しく説明します。テンプレートには id、name、およびpathがあります。パスフラグメントの順序付きリストです。

どうもありがとう

砂の

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

java - Hibernate HBM マッピングの問題

次の3つのクラスがあります。

次のDDLがあります:

次の HBM ファイルがあります。

School.hbm.xml

Student.hbm.xml

学校に基づいて Student オブジェクトをクエリしようとすると、次の例外が発生します (クラスパスにコンパイルされた "StudentSchool" というクラスがあります)。

"School" への 1 対 1 マッピングのコメントを外し、"studentSchool" への 1 対 1 マッピングをコメント アウトすると、次の例外が発生します。

hbm マッピングで私が間違っていたことについて何か考えがある人はいますか? ありがとう!

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

nhibernate - NHibernate-ロードコレクションへの不正アクセス

顧客とアカウントの2つのエンティティがあります。顧客は多くのアカウントを持っています。

顧客のマッピングは次のとおりです。

アカウントのマッピングは次のとおりです。

私のアプリケーションでは、IDに基づいて顧客を取得します。

次に、次の方法で顧客の最初のアカウントを取得しようとします。

次に、次の例外が発生します:「NHibernate.LazyInitializationException:ロードコレクションへの不正アクセス」

ここに掲載されているこの問題に対して他の解決策を試しましたが、何も機能していません。本当に奇妙なのは、アカウントにアクセスしようとする直前に次のコードを挿入すると、すべてが機能することです。

前のコードで行ったのは、使用すらしない変数を作成することだけです。どういうわけか、「Account account = customer.Accounts.FirstOrDefault();」というステートメントが発生します。しかし成功するために。

誰かがここで何が起こっているのか考えがありますか?

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

nhibernate - 別のテーブルの列からオブジェクトを参照する

次のオブジェクト モデルがあります。

私のテーブルは次のとおりです。

A: ID(整数)、説明(文字列)

B: ID(整数)、説明(文字列)、A_ID(整数)

C: ID(整数)、説明(文字列)、B_ID(整数)

D: ID(整数)、説明(文字列)、C_ID(整数)、A_ID(整数)

テーブル D の A_ID は、テーブル A の主キーへの外部キーです。これは元々 、 :ObjectAから簡単にアクセスできるようにするために行われました。これにより、データベースを非正規化するこの方法でアクセスするすべてのテーブルに、テーブル A の ID を追加する必要があります ( があり、すべてが に簡単にアクセスしたいと想像してください)。この場合、 は常に への参照を持ちます。ObjectDObjectD.AObjectAObjectEObjectFObjectAObjectBObjectA

すべてのテーブルで A_ID への参照を取り除きたいのですがObjectA、クラスから簡単にアクセスできるようにしたいと考えています。ObjectD.ObjectC.ObjectB.ObjectA必要なときに取得できることはわかっていObjectAますが、それはオブジェクトを遅延読み込みする目的を無効にしているようです。

のテーブルに の IDを持たずに にObjectD直接アクセスできるようにするには、どのようにマッピングすればよいですか?ObjectAObjectAObjectD

注:クラスをマップするために hbm/xml ファイルを使用しています。