問題タブ [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 投票する
2 に答える
1074 参照

c# - DB で「newsequentialid」を使用する場合の Nhibernate Identity マッピング

オブジェクトをDBにマップするためにNHibernateを使用しています。これらのオブジェクトの 1 つは「添付ファイル」と呼ばれます。その ID は、MS SQL Server 2008 の「newsequentialid」を使用して (既定値またはバインドとして) 生成され、id 列の Guid を作成します。

今私が欲しいのは、新しい添付ファイルが挿入されると、NHibernate は SQL Server が newsequentialid を使用して Guid を作成できるようにすることです。問題は、IDが設定されていない新しい添付ファイルを保存しようとすると、例外「null identifier」が発生し続けることです(Guid.Empty)

ここに私のHBMファイルがあります:

ご覧のとおり、ID はジェネレーター クラスをネイティブとして設定されています。

事前にすべての助けをありがとう!! :)

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

xml - hibernate - マッピング xml ファイルを共有する

複数のテーブルのマッピング ファイルを共有する方法はありますか。

すべての休止状態の pojo には、スーパークラスに移動した Integer id フィールドがあります。また、互いに非常によく似た複数のテーブルもあります。だから私はそれらのためにスーパークラスを作成しました。

マッピング ファイルを相互に含めたり、マッピング ファイルを共有したりする方法はありますか?

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

database - Hibernate hbm 多対多マッピング

2 つのオブジェクト間で 1 対多のマッピングを作成しようとしています (Java で作業します)。オブジェクトをデータベースに保存できますが、それらの関係は保存できません。「AuthorizationPrincipal」というクラスがあり、「権限」のセットが含まれています

いくつかのチュートリアルと例に従って「set」タグを思いつきましたが、それでもデータベースに保存されません。

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

hibernate - 正しい Hibernate マッピング

私は5つのテーブルとそれぞれの列を持っています

大学

研究所

  • id_institute (pk)
  • id_country (pk) ---- FK ---- country.id_country
  • id_univ
  • id_address FK ---- update.id_update

住所

アップデート

これらはhbmマッピングです

外部キーの関係があるので、誰かが休止状態のマッピングを案内してくれますか? 正しいマッピングを取得できません。

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

java - Hibernate: 双方向の順序付けられたツリーで子ノードをシャッフルする

私は単純なクラスで構成された基本的なツリー構造を持っており、単一の親(ルート ノードの場合は null になる可能性があります)と子の順序付きリストにNode双方向にリンクしています。

これを hibernate を使用して次の単純なデータベース テーブルにマップします。

次の.hbm休止状態マッピング ファイルを使用します。

ただし、次のコードを使用して、1 つの親内で要素の順序をシャッフルしようとすると:

休止状態でトランザクションをフラッシュすると例外が発生します: ( org.hibernate.exception.ConstraintViolationException ... set parent=null, xorder=null where parent='1' and xid='2'): 基本的に、更新は に設定しようとしますxordernull、これは明らかにデータベース スキーマによって禁止されています。

hbm マッピングで多くの組み合わせを試しましたが、成功しませんでした。休止状態に設定し<list>ても更新が行われない場合、要素を設定してもどちらも役に立ちません。inverse="true"insert="false" update="false"<many-to-one>

マッピングまたはコードのいずれかで、おそらく何かが欠けているとhbm思いますが、それはかなり明白であるべきだと思います...何か考えはありますか?

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

nhibernate - nhibernate hbm を使用した継承クラスのマッピング

私は同じテーブルの2つのクラスを持っています。

1 つのクラス「Entity」にはテーブル ENTITY のプロパティ x、y、z が含まれ、派生クラス「ExtendedEntity」にはさらにいくつかのプロパティ (コレクション - 他のテーブルとの関係) が含まれます。

両方をマップしたいのですが、ディスクリミネーターを使用せずにサブクラスをマップする方法が見つかりませんでした (エンティティ オブジェクトと ExtendedEntity を選択したい場合があります)。誰かが何か考えがありますか?(Entity マッピングをコピーして新しいプロパティを追加することで ExtendedEntity をマップしようとしましたが、Entity オブジェクトを取得したいときに ExtendedEntity が表示されます)。

ありがとう!

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

spring - hbm ファイルを自動的にロードしないようにする

2 つのデータベース (Oracle と SqlServer) があり、両方に同じテーブル (Province) があります。Hibernate で JPA を使用しており、これらのデータベースに対して操作を実行する必要があります。

テーブルごとに hbm マッピング ファイルがありますが、どちらも同じクラス (Province.java) を参照しています。各 DB のマッピングを適切に宣言するために、hibernate.Oracle.cfg.xml と hibernate.SqlServer.cfg.xml を構成しました。

私もSpringを使っています。

これが私の問題です。アプリケーションが (実際には JUnit) をロードすると、Province.java が 2 回あるため、DuplicateMappingException をスローして両方の hbm ファイルをロードしようとします。さらに、1 つの hbm ファイルと 1 つの hibernate 構成ファイルのみを保持すると、DuplicateMappingException がスローされます。しかし、休止状態の構成ファイルからマッピングを削除すると、機能します (ただし、これは必要ありません)。これは、hbm ファイルが自動的にロードされ、構成ファイルで宣言されているために再度ロードされることを意味します。

hbm ファイルが自動的に読み込まれないようにする方法はありますか?

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

hibernate - 多対多のプロパティを更新する

StudentCourseを介して接続されているテーブルStudentCourseの間に多対多の関連付けがあります。 StudentCourseにはgradeという追加のプロパティがあります。学生が特定のコースの成績にアクセスできるようにするために、次のマッピングをStudent.hbm.xmlに記述しました。

データをフェッチするとき、すべてが素晴らしいようです。ただし、成績を更新しようとすると、一意の制約違反の例外が発生します。これは、行を更新する代わりに、休止状態が同じ StudentId と courseId (一意として定義されている) を持つ新しい行を挿入しようとするためです。

だから私の質問は:どうすればhibernateにstudentIdとcourseIdでマップを更新させることができますか?

StudentCourse.hbm.xmlは次のようになります。

どんな助けでも感謝します。

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

c# - マッピングの循環依存関係を解決するにはどうすればよいですか?

循環依存関係のあるテーブルが2つあります。ATitleにはElementsがあり、それぞれがパス内Elementの次のポイントを指しTitleます。

BuildSessionFactory()ただし、インスタンスを呼び出すとNHibernate.Cfg.Configuration、次の例外が発生します。

テーブルElementからの関連付けは、マップされていないクラスを参照します:ElementDAO

これは循環依存の結果であると思います(Elementを参照しているため、最初にTitleをマップすることはできません。また、Titleを知らずにElementをマップすることはできません)。

質問: 循環依存を解決するために2つのマッピングを組み合わせるにはどうすればよいですか?

関連データ(およびコードスニペット)は次のとおりです。

タイトル

  • Id(主キー)
  • 名前

エレメント

  • id_Title(外部キー)
  • 名前
  • id_Title_Child(外部キー)

これらは、次のようなデータ構造を表します。 テーブルの関係を示すグラフ

私のコード:

TitleDAO:

TitleDAOマッピング:

ElementDAO:

ElementDAOマッピング:

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

java - カスケードが休止状態で正しく機能しない

以下のコードでは、cascade="save-update" が Student クラスに関連付けられた Course クラス (バッグ) に使用されます。

学生クラスは -->

コースクラスは -->

Student の hbm ファイルは -->

私が実行しているトランザクションは単純です-->

さて、コードによると、Courses テーブルには、Course テーブルの各エントリに関連付けられた Student の主キーが含まれる「STUDENT_ID」という名前の列が保持されているはずですが、列「STUDENT_ID」にはデータが表示されていません (すべて null値が挿入されます)。

クエリ シーケンスは -->

生徒の ID を保持する代わりに、Course テーブルの列に NULL 値が表示されるのはなぜですか??