問題タブ [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.
java - Hibernate: ソーシャル ネットワークにおけるユーザーと友達の関係のマッピング
私がこの問題を理解しようとしているのはかなりの時間であり、多くの人が同様の問題を抱えていることをグーグルで調べています。
Hibernate を使用してソーシャル ネットワークでユーザーをモデル化しようとしていますが、友情関係をマッピングするよりもソーシャル ネットワークにとってより基本的なことは何ですか? システム内のすべてのユーザーは、自分の友人のリストを持っている必要があります。これは信じられないほど簡単な作業だと思いました (ManyToMany 関係を使用するだけですよね?)。そこで、次のことを試してみました。
ここでの問題は、友人と友人を明確に区別せずに、ManyToMany を間違って使用していることを教えてくれることです。これまでのところ、エラーが発生しましたが、どうすればやりたいことができますか?
何か案が?私は私の知恵の終わりに達しました。
nhibernate - where句を使用して1対1でマッピングする方法はありますか?
私はHibernate/NHibernateに比較的慣れていないので、このトピックについての私の無知を許してください、しかし私は理解できないマッピングに遭遇しました:
これは私のデータベーステーブルがどのように見えるかです:
where句を使用して1対1でマッピングする方法はありますか?
したがって、BinContentオブジェクトは、VIDEOまたはCLIPのいずれかのItemTypeを持つことができます。これらは文字列としてキー設定されており、残念ながら変更することはできません。
したがって、ItemTypeフィールドに「VIDEO」と表示されている場合は、多対1の「Video」オブジェクトが必要ですが、ItemTypeフィールドに「CLIP」と表示されている場合は、多対1のクリップが必要です。 。
ヘルプ!
この場合、多対1を使用するかどうかさえわかりません。おそらく1対1ですか?
java - hibernate: このマッピングは許可されていますか?
クラス Foo は特別なものではなく、Serializable を実装するだけです。
基本的に、HashSet 全体をデータベースにシリアライズしたいと考えています。このマッピングは問題なく機能しますが、ロードしようとすると、Foo で ClassNotFoundException が発生します。
全体の例外:
nhibernate - NHibernateの「グループ名」列からグループエンティティクラスをマップするにはどうすればよいですか?
データベースに次のようなテーブルがあります。
次に、このテーブルを次のような2つのエンティティクラスにマップします。
これはNHibernateで可能ですか?ネットとNHのドキュメントを検索しようとしましたが、何を探すべきか本当にわかりません。検索クエリのアイデアをいただければ幸いです。
FooGroup
たぶん、カスタムHQL / SQLクエリを使用して個別のグループ名を選択し、別のカスタムクエリを使用して含まれているアイテムの適切なセットを選択するためのマッピングを作成できますか?
hibernate - Hibernate でクエリを使用してエンティティをマップする
テーブルを考慮する
sales
これはクエリを使用して生成されたビューですSELECT seller_id, SUM(amount) FROM sales GROUP BY seller_id
総売上高のエンティティを作成したいのですが、SQL 側のビューはありません。
このエンティティはクエリから構築されます。私が見つけた最も近いものはこれですが、動作させることができませんでした。
ローダーを定義しても、休止状態はエンティティのテーブルを探し、見つからない場合はエラーを返します。テーブルを作成すると、定義した名前付きクエリからエンティティがロードされず、Hibernate がクエリ自体を生成します。
@Loader を機能させる方法はありますか、またはクエリをエンティティにマップする別の方法はありますか?
hibernate - Hibernate マッピングに関するヘルプが必要
アプリケーション サーバーのネイティブ パフォーマンス関連の統計を収集する自家製ソリューションのダッシュボードを作成しようとしています。さまざまなエージェントによって収集されたデータの DDL は次のとおりです。簡潔にするために、いくつかの列と関連のない表をスキップしました。
ダッシュボードでは、基準の一部として、これらのテーブルの任意の列に基づくレポートをユーザーが表示できるようにする必要があります。そこで、ユーザーの選択に基づいて Hibernate Criteria クエリを生成します。
POJO をリバース エンジニアリングすると、Metric オブジェクトは次のようになります。
私がやりたいことは、メトリックを上記のテーブルの関係の単一の POJO として公開することです。したがって、基本的に、Metric POJO を介してサーバーの名前、値、タイムスタンプをすべて取得できます。これは単純に Criteria クエリを生成し、結果セットは常に Metric オブジェクトのリストになります。
このリンクを参照しました。これは、オブジェクト間の 1 対 1 の関係でうまく機能します。しかし、私の場合、メトリックはserver_metricなどと1対多の関係にあります...メトリックテーブルのマッピングファイルが同じことを達成する方法がわかりません
どんな助けでも大歓迎です...
乾杯!!
hibernate - Hibernate: マップされていないクラス関連付けの例外
これはかなり初歩的な問題であることはわかっていますが、1) 私は Hibernate に比較的慣れていないため、2) 私が見つけた修正はここには適用されません (適用されるようです)。
これが私が得ている例外です:
これは、Hibernate が自身を構成しようとしたときに発生します。
私が扱っているオブジェクトは、Users、Posts (抽象的なスーパークラス)、Statuses、および Comments (Post の具体的なサブクラス) です。それぞれは、2 つのテーブル (USERS と POSTS) のいずれかの Bean です。User オブジェクトは非常に平凡です: ユーザーを説明する当たり障りのないフィールドがたくさんあります。同様に退屈なフィールドに加えて、ステータスとコメントの両方に所有者 (投稿したユーザー) がいます。ステータスとコメントの違いは、ステータスにはコメントのリストを添付できますが、親はありませんが、コメントには子の投稿はありませんが、親はあります (はい、これは基本的に Facebook です)。
私が読んだことから、問題は多対一のマッピングにあるようですが、何か問題があるようには見えません。ここに私が使用している3つの構成ファイルがあります。
hibernate.cfg.xml:
User.hbm.xml:
Post.hbm.xml:
Status に Comment の ArrayList が含まれているという事実をどこかに指定する必要があるような気がしますが、それは Post.hbm.xml ファイルの「リスト」構造によって暗黙的に行われているのではないでしょうか?
xml ファイルはクラスパス (WEB-INF/classes) に存在し、.java ファイル自体もアプリケーションに表示されます。洞察をいただければ幸いです。
hibernate - HibernateforDB2およびHSQLDBでの「グループ」と呼ばれるテーブルのマッピング
私はgroupというテーブルを持っており、DB2とHSQLDBのhibernateを使用してマップしようとしています。テーブル名グループは予約語であり、HSQLDBで引用符で囲む必要があります。ただし、DB2は引用符で囲まれたテーブル名を好みません。
したがって、このマッピングはHSQLDBでは機能しますが、DB2では機能しません。
マッピングの結果、DB2で次のエラーが発生します(グループテーブルを含むクエリを作成します)。
そして、これはDB2では機能しますが、HSQLDBでは機能しません。
マッピングすると、HSQLDBで次のエラーが発生します(グループテーブルの作成)。
DB2とHSQLDBには、それぞれorg.hibernate.dialect.DB2Dialectとorg.hibernate.dialect.HSQLDialectを使用しています。
両方のデータベースで同じマッピングを同時に機能させるにはどうすればよいですか?
java - 2 つの異なるテーブルにマップされたクラスに多対多の関連付けをマップする方法は?
バウチャーがあります-POJOは2つのテーブルにマップされています。最初のマッピングでは、エンティティ名「voucherA」を割り当て、POJO を TableA にマップします。2 番目のマッピングでは、"voucherB" をエンティティ名として使用し、POJO を TableB にマップします。
これで、TableC にマッピングされた顧客の POJO もできました。この POJO は、リスト内のバウチャーを参照します。
顧客からバウチャーへの多対多の関連付けのリストを適切にマッピングして、顧客の POJO が永続化されている場合、バウチャー エンティティがそこに存在しない場合は TableA ではなく TableB に永続化されるようにするにはどうすればよいですか? これはできますか?そうでない場合、顧客が使用したバウチャーが tableB に永続化されるようにするには、どのような回避策がありますか? (TableA には使用可能なバウチャーのみが含まれ、使用済みのバウチャーは含まれません)
nhibernate - n-hibernateマッピングに再利用可能なプロパティを定義する方法はありますか?
エンティティにいくつかの標準プロパティを追加したいというシナリオがあります。たとえば、関連するすべてのエンティティに1つのintプロパティと2つの文字列プロパティが適用されることを意味します。100を超えるマッピングファイルがあり、すべてではありませんが、ほとんどがこれらの新しいプロパティのホストになります。クラスでは、これを簡単に定義できます。ただし、マッピングでは、ユーティリティまたはxsltを作成し、それを適用する以外に参照は見つかりませんでした(休止状態のマッピングで再利用可能な<generator>要素を定義する方法)。
ただし、この「標準」マッピングからプロパティを追加/変更/削除できるようにしたいです。
返信の場合はthx
編集1:追加したいマッピングの例
Edit2:NH 2.1.1ではXMLエンティティが機能せず(NH-1236)、NHが「このXMLドキュメントではDTDが禁止されています」をスローするため、受け入れられたソリューションを削除しました