問題タブ [hbmxml]

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 に答える
242 参照

java - Hibernate Map with unknown element type

I'm wondering if it's possible to define a map with unknown (Object) element type.
I have an object with the following map defined:

Sometimes an attribute can be a String and sometimes it can be a java.util.Date
Is there any elegant way to handle such a data object in Hibernate?
BTW I'm using HBM XML

Thanks!

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

hibernate - Hibernate 4: 1 つのクラス マッピング 2 つのテーブル - 両方のテーブルで 1 つのオブジェクトを永続化する方法は?

私はこのクラス Person を2つのテーブルにマッピングしています: Persons と PersonsAUD (監査):

このオブジェクトを次のように 2 つのテーブルに保存しようとしています。

ただし、監査行ではなく、最初の行のみが挿入されます。おそらく休止状態で人の状態をチェックし、すでに保存されていることを確認します。

休止状態に強制的に両方のテーブルに同じオブジェクトを保存させる機会はありますか?

前もって感謝します。

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

java - entity-name を使用した Hibernate クエリ

POJO を使用して 2 つのテーブル (メインとバックアップ) を定義しています。両方の XML クラスが同じ Java クラスを参照しています。

参照 : Hibernate XML マッピング ファイルで同じ POJO を複数のテーブルにマッピングする

POJO 定義:

さまざまなテーブルに作成できます。また、

API これらのテーブルに新しいレコードを個別に追加できます。

取得中はHQLを使用しています

Table1 と Table2 のすべてのレコードが返されます。Table2 を指定しようとすると、「Table2 がマップされていません」というエラーが表示されます

table1 と Table2 のみから個別にレコードを取得する方法はありますか。

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

java - SaveOrUpdate スキップ テーブル

Hibernate V.4.1.8 最終版

春: 3.1.3 リリース

シナリオ:顧客登録プロセス中に、ユーザーは完全に入力します。彼は、フォームを確定する前にフォームを複数回保存することが許可されており、送信をクリックして内容を確定します。アプリケーションは、最終送信後にのみ顧客 ID を作成します。この機能を実現するために、同じ POJO に基づいて 2 つのテーブルを作成しています。参照: 同じ POJO を複数のテーブルにマッピングする

問題: Customer テーブルにデータを保存するとき。hibernate はレコードを Address テーブルに挿入し、直接 family テーブルに挿入しますが、customer テーブルは無視します。したがって、例外をスローします: 子行を追加または更新できません: 外部キー制約が失敗します

custDetail オブジェクトがバックアップ テーブルと顧客テーブルにある間は、SQL シーケンスを参照してください。

バックアップ テーブルへの挿入

顧客テーブルへの挿入

テーブル定義:

バックテーブル:

保存方法:

顧客メソッドの承認

顧客テーブルで例外が発生していません。DOZER を使用して、session.clear/flash/evict/merge/replicate などを使用してオブジェクトをデタッチしようとしましたが、進行しません。私もカスケードオプションを削除しようとしました。

どこが間違っているのかわかりません。助けてください。

よろしく、

シリッシュ

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

c# - NHibernate マッピング .hbm.xml ファイルのビルド アクションを構成する方法はありますか?

NHibernate マッピング .hbm.xml ファイル自体または少なくとも別の構成 xml ファイル内から NHibernate マッピング .hbm.xml ファイルのビルド アクションを構成する方法はありますか?

Microsoft Visual Studio 2010 の多くの機能を高く評価していますが、次のようにして手動でこの hbm.xml ファイルのビルド アクションとして「埋め込みリソース」を設定するのは好きではありません。

  1. (手動のアプローチは嫌い)(Microsoft Support Docs) 対象のファイルを右クリックし、[プロパティ] を選択します。
  2. (手動のアプローチを好まない)(Microsoft サポート ドキュメント)[プロパティ] ダイアログ ボックスで、[ビルド アクション] プロパティを見つけます。デフォルトでは、このプロパティは Content に設定されています。プロパティをクリックし、Build Action プロパティを Embedded Resource に変更します。

また、CSharp コードでプログラム的に行うのも好きではありません。NHibernate マッピング .hbm.xml ファイル自体または少なくとも別の構成 xml ファイル内から NHibernate マッピング .hbm.xml ファイルのビルド アクションを構成する方法はありますか? 誰かがxmlを使用してそれを行う方法を提案してもらえますか?

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

c# - NHibernate セッションを使用して複合キーを含むブリッジ テーブルに保存しようとすると、外部キー違反が発生するのはなぜですか?

私たちのオフィス チームは、.NET Framework 4 と NHibernate 3.3.1 を使用する ASP.NET プロジェクトに取り組んでいます。

私は AllResourcesInfo という POCO ドメイン クラスを持っています (これは最終的にデータベース内のリソース テーブルにマップされ、他のテーブルに内部結合されますが、簡単にするために、AllResourcesInfo がリソース テーブルにマップされているとしましょう)。

Section という POCO ドメイン クラスもあります (これは最終的にデータベースの Section テーブルにマップされます)。

ResourcesInSectionBridge という POCO ドメイン クラスもあります (これは、最終的に ResourcesInSectionBridge というデータベースのブリッジ テーブルにマップされます)。

命名規則が示すように、ResourcesInSectionBridge は Resource と Section の間のブリッジ テーブルです。

ResourcesInSectionBridge には複合キーが含まれているため、ResourcesInSectionIdentifier という POCO 複合キー識別子を作成し、Equals(object obj) メソッドと GetHashCode メソッドも定義しました。

NHibernate セッションを使用して ResourcesInSectionBridge テーブルの新しいエントリを保存すると、エラーが発生します。

例外の詳細: System.Data.SqlClient.SqlException: INSERT ステートメントが FOREIGN KEY 制約 "FK_ Resources _Resou__22CA2527" と競合しました。データベース「perls」、テーブル「dbo.Resources」、列「ResourceDatabaseID」で競合が発生しました。ステートメントは終了されました。

AllResourcesInfo.hbm.xml のマッピングは次のとおりです。

Section.hbm.xml のマッピングは次のとおりです。

最後に、ResourcesInSectionBridge.hbm.xml マッピング ファイルは次のようになります。

最後に、ResourcesInSectionBridge テーブルにエントリを作成しようとする C# コードは次のとおりです。

NHibernate セッションを使用して ResourcesInSectionBridge テーブルの新しいエントリを保存すると、エラーが発生します。

例外の詳細: System.Data.SqlClient.SqlException: INSERT ステートメントが FOREIGN KEY 制約 "FK_ Resources _Resou__22CA2527" と競合しました。データベース「perls」、テーブル「dbo.Resources」、列「ResourceDatabaseID」で競合が発生しました。ステートメントは終了されました。

このエラーが発生する理由を教えてください。また、問題を解決する方法を教えてください。

0 投票する
4 に答える
1628 参照

c# - NHibernateをSystem.Guid.Emptyの値でC#POCO Guidプロパティを「変換」して、データベースの一意の識別子フィールドにNULLとして保存しますか?

私たちのオフィスチームは、.NETFramework4とNHibernate3.3.1を使用するASP.NETプロジェクトに取り組んでいます。

AllResourcesInfoというPOCOドメインクラスがあります(これは、最終的には他のテーブルに内部結合されているデータベース内のResourceテーブルにマップされますが、簡単にするために、AllResourcesInfoはResourceテーブルにマップされるとしましょう)。

また、DepartmentというPOCOドメインクラスがあります(これは最終的にデータベースのDepartmentテーブルにマップされます)。

AllResourcesInfoは、部門と多対1の関係を持つ可能性があります。

AllResourcesInfoのインスタンスが部門に属している場合、AllResourcesInfo.DepartmentDatabaseIDには、Departmentエンティティにある有効なDepartmentDatabaseIDがあります。

ただし、AllResourcesInfoのインスタンスが部門に属していない場合、AllResourcesInfo.DepartmentDatabaseIDのデータベースの値はNULLになります。データベース。

NHibernateを使用してAllResourcesInfoテーブルから値を取得する(基本的にNHibernateはデータベースの読み取りを行う)と、NHibernateはAllResourcesInfo.DepartmentDatabaseIDのC#POCOプロパティに00000000-0000-0000-0000-000000000000値(つまり、System.Guid)を入力します。 .Empty value)AllResourcesInfoが部門に属していない場合

ただし、NHibernate Sessionを使用して、どの部門にも属していないAllResourcesInfoの新しいC#POCOインスタンスを保存する場合、AllResourcesInfo.DepartmentDatabaseIDのPOCOプロパティに00000000-0000-0000-0000-000000000000値(つまり、システム)を入力します。 .Guid.Empty value)しかし、00000000-0000-0000-0000-000000000000のGUID値がデータベースのDepartmentテーブルに存在しないため、データベースは明らかにエラーをスローします。

要約すると、NHibernate Session Saveは、uniqueidentifierフィールドの値をnullのままにしたい場合、データベース内のuniqueidentifierフィールドをNULLの値で保存(または残す)できません。

NHibernateがSystem.Guid.Emptyの値を持つC#POCO Guidプロパティをデータベースのuniqueidentifierフィールド値に対してNULLとして保存(または残)することを保証する方法を教えてください。

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

java - 休止状態は列の長さをチェックしますか?

db へのアクセス権と、hbm.xml ファイルへの読み取り専用アクセス権しかありません。列のサイズを大きくする必要があります。このテーブルの hbm.xml ファイルのテーブル/列定義には、属性の長さがありません。この場合、アプリケーションは列サイズを大きくしても動作するはずですか?

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

hibernate - 主キーなしでデータベース ビューをマップするには、hibernate xml マッピングで

データのみをフェッチするために使用されるビューを作成しました(読み取り専用)

ビュー: Grid_View

> 私の Hibernate hbm ファイル

> 私の見解ではそれらは主キーではないため、マッピングで id フィールドについて言及していません。 ただし、休止状態では ID が必要です。

> 私の質問

ハイバネート マッピング ファイルで ID なしでマッピングを続行する方法。また、それらは一意の値を持つ列ではないため、それらをキーにする可能性はありません。この問題の解決を手伝ってください