問題タブ [hibernate-mapping]

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

hibernate - 休止状態のマッピングに関する質問

注釈を使用して多対多の関係を設定しようとしています。ここに私のエンティティがあります

これは、エンティティ用に持っているデータのサンプル セットです。

PublisherBook テーブルから Publisher 1 (id=1) のすべての書籍のリストを取得しようとすると、合計 3 冊の書籍が返されます。しかし、私は合計5冊の本を手に入れています。Book 1(id​​ = 1) は異なる author 値 (1, 2, 3) で 3 回繰り返されているため、PublisherBook のリストが返されます。

Set を Book エンティティから削除すると、出版社 1 の PublisherBook のリストは正しい値を返します

誰かが私が間違っていることを教えてもらえますか? 長文失礼いたしました。

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

hibernate - Hibernateマッピングの質問

いくつかの休止状態を使用していくつかのクラスをマップしようとしていますが、解決策を達成するための最良の方法を見つけることができない場合に到達しました。AirTransport、TrainTransport、RoadTransportの3つのクラスがあり、正しくマッピングされている特定のプロパティがあります。これらのクラスのTRANSPORTTIMEエントリを保存する必要がありますが、個々のクラスの時間エントリをそれぞれのテーブルに保存したくないので、上記で定義した3つのクラスの時間関連エントリを保存できるTRANSPORTTIMEテーブルを作成します。

これらの3つのクラスは独立しているため、これらのクラスの時間エントリをTRANSPORTTIMEテーブルにマップするのに最適な方法がわかりません。私は3つの輸送クラスでこのようなことをしようとしました

しかし、反対側、つまりTRANSPORTテーブルに物事をマッピングする方法がわからない場合、この点に関するヘルプやポインタが役立ちます。

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

hibernate - Hibernateマッピングは、エイリアス「h002-01」の列のGrailsでエラーを生成します

列名に特殊文字が含まれるテーブルのHibernate上でgrailsにマッピングを実装しようとしています。すなわち「-」

ドメインクラスでのマッピング

例外スタックトレース:

クエリ:何か考えがありますか、前述の問題をどのように解決できますか?それを逃れるのに苦労しましたが、それも機能しません。既存のデータベースでUIを開発しようとしているため、前述の列名を使用する必要があります。

前もって感謝します !

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

java - カスタムキーを使用して @OneToMany を java.util.Map にマップする方法は?


そして、私はこれが欲しいです:


やりたいことが明確かどうかはわかりませんが、1 対多の関係を B の名前をマップのキーとしてマップにマッピングするのと同じくらい簡単です。

前もってありがとう、ネキノ

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

java - 2 つのレベルで @MapKey アノテーションを使用するには?

この質問は、私が尋ねた他の質問と似ていますが、少し異なります。

私はこれを持っています:


そして、私はこれが欲しいです:


やりたいことが明確かどうかはわかりませんが、マップのキーとして C の名前を持ち、値として b を持つ Map に 1 対多の関係をマッピングするのと同じくらい簡単です。

前もってありがとう、ネキノ

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

java - 休止状態での循環参照の問題

休止状態を学習しているときに、休止状態が循環参照をしているように見える状況に遭遇しました。この状況をどのように乗り越えればよいかわかりません。親に2つのクラスがあります

これが同じマッピングファイルです

子エントリの場合は次のとおりです

メインコードでこのようなことを試したとき

親が子を参照し、再び子が親を参照するように、イテレータメソッドまたはコレクションメソッドを使用してリストを反復しようとすると、ここに本当の問題があります。

私の今後の課題では、子クラスへの非常に多くのコレクション参照を持つ親クラスがあり、すべて多対1および1対多の関係があります。

そのため、その状態では、いつでも親エンティティから子を取得しようとするようです

循環参照に遭遇します。これを回避する方法を提案するか、間違った方向に進んでいる場合は修正してください

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

java - StaleStateException を与える Hibernate の Delete メソッド

Hibernate の delete メソッドを使用してオブジェクトを削除しようとしていますが、StaleStateException 例外が発生します。私の要件は、一意のキーに基づいてオブジェクトを削除することなので、このために私は何かをしています。

リストが空でない場合、リストには要素が1つしかないことがわかっているので、リストから最初の要素のみをフェッチします(これが良いアプローチかどうかはわかりません)

しかし、このメソッドを実行していると、コンソールに次のSQLログが表示されます

そしてその投げるよりも

私が疑わしいのは、Transport テーブルに AirTransport 用に 1 つ、Train 用に 1 つ、Road 用に 1 つだけの 3 つのエントリがあり、TransPortTime テーブルには 3 つのエントリがあり、Transport タイプごとに 1 つと、

3つのトランスポートクラスすべての複合要素としてTransportTimeを使用しています

私はまだ何がうまくいかないのか理解できないので、コミュニティで尋ねても


追加情報を追加するだけです。宛先クラスには、3 つのそれぞれの trabsport クラスの以下のマッピングがあります。

私のRoadTransport/Train/Air Transportには次のマッピングがあります

他の 2 つのマッピング ファイルも同一であるため、これら 3 つのクラスのマッピング関連付けを親クラスから削除すると、削除機能が完全に機能し始めました。

つまり、TimeTable クラスを Transport クラス (Air/Train/Road Transport クラス) 内のコンポーネントとしてマッピングする際に根本的に間違っていることを意味します。

この点に関する提案は非常に役立ちます

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

hibernate - delete-orphan を使用したコレクションの削除は、null 割り当てでは機能しませんか? :(

cascade delete-orphan を使用して別のエンティティを削除する際に問題が発生しています。関連するセット コレクションをクリアすると機能しますが、セット コレクションを null にすると機能しません。詳しく説明しましょう。構成スニペット:

私のサンプルコード:

以下は正しく機能します。つまり、すべてのコレクション項目がデータベースからすべて移動されます。

このメソッドを呼び出すと、Hibernate の PersistSet がダーティとしてマークされるため、これは機能すると思います。

ただし、以下は、私が望む/期待するように、上記と同じようには機能しません。

データベースから猫アイテムをリロードすると、まだ BLA アイテムが含まれており、Hibernate によって削除ステートメントが生成されません :(.. なぜでしょうか??... またはこれはバグですか? 私は 3.6.0.Final を使用しています。

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

hibernate - 多くの値型コレクションを Hibernate の 1 つのテーブルにマップする方法は?

パフォーマンス上の理由から、休止状態の多くの値型セットを 1 つのテーブルにマップしようとしています。最初に、それらすべてを独自のテーブルに配置したため、結合が多すぎました。

セットの束を持つ多くのコンポーネントを含む Categories クラスがあり、エンティティ名と識別子を使用して、サブクラスを介してそれらを単一のテーブルにマップします。マッピング スニペットについては、以下を参照してください。

これは問題なく機能しますが、すべてのセットを含む単一のテーブルであるため、コンポーネントが削除されたときにセットを自動的に削除することは困難です。これは、エンティティとしてモデル化されており、Hibernate がセットが削除されたことを通知できないためです。

マッピングの詳細:

使用法:

このエラーは、EmployerWages がカテゴリの子としてマークされているため (キー列を参照)、自動的に削除されないために発生します。そのため、コンポーネントが削除されたときではなく、カテゴリが削除されたときに孤児として削除されます...ただし、私はWageはコンポーネントであり、Hibernateの苦情があるため、EmployerWagesをWageの子にすることはできません...

Pffff...これを解決するのは非常に難しいです。アイデアは大歓迎です...

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

hibernate - 多対一の問題

数時間このエラーが発生しましたが、もう取得できません。これは、Spring 2.5 と hibernate3 を使用したプロジェクトです。クライアントオブジェクトでもプロジェクトオブジェクトを宣言してみました。

クライアントとプロジェクトの2つのテーブルがあります

Java コードで:

休止状態のマッピング ファイルには、次のようなものがあります。

そして、私はこのエラーを受け取ります:

この問題を解決する方法があり、これがクライアントとプロジェクトの間の関係を宣言する正しい方法であるかどうかさえわかりません。上記のコードに誤りがありますか? とにかくありがとうございました。